Добавление данных из карточек Bootstrap в объекты Django с помощью флажков
Это довольно сложный вопрос, но:
Я использую Django. Пользователь вводит данные на одном шаблоне, а затем, используя логику в моем представлении и вызов API, отображается следующая страница, на которой отображается несколько bootstrap-карт, каждая из которых содержит данные из вызова API, присутствующего в первом представлении.
Вверху каждой карточки бутстрапа, содержащей данные, находится флажок. Я хотел бы, чтобы пользователь мог отметить/отметить любую карточку бутстрапа, чтобы добавить данные из этих карточек как новый объект (NewNFT из моего models.py).
В попытке сделать это менее сложным, я просто поделюсь своим html, который показывает, как каждая карточка форматируется с текстовым полем/данными из вызова API, а затем я также поделюсь своей моделью для создаваемого объекта.
Может ли кто-нибудь объяснить, как добавить каждую из этих "карточек" (на самом деле данные из каждой карточки) в качестве нового объекта для моей модели? Я не могу понять логику view.py, чтобы это произошло. По какой-то причине он не позволяет мне отобразить, но, конечно, там будет форма вокруг данных карточки, а также кнопка отправки. И данные из формы, которые я ищу, следующие:
<div class="row mb-3">
<div class="col-lg-12 col-sm-12 text-primary">
<div class="d-flex flex-wrap">
{% for nft_dict in list_of_nfts %}
<div class="card m-3 shadow form-check-inline" style="width: 16rem">
<label class="form-check-label" for="check1">
<input
type="checkbox"
style="margin-right: 20px"
class="form-check-input"
id="check1"
value="something"
checked
/>Add to {{new_gallery_name}}
</label>
<img
class="card-img-top"
src="{{nft_dict.image}}"
alt="Card image cap"
/>
<div class="card-body">
<h4
class="card-title"
style="
color: #212529;
font-weight: bolder;
background-color: rgb(231, 114, 208);
padding: 10px;
border-radius: 5px;
"
>
{{nft_dict.name}}
</h4>
<div class="card-text">
<span style="color: #212529; font-weight: bold">Created:</span>
<span style="color: rgb(230, 73, 198)"
>{{nft_dict.nft_created_date}}</span
>
</div>
<span style="color: #212529; font-weight: bold">About:</span>
<span class="card-text" style="color: rgb(230, 73, 198)">
{{ nft_dict.description|escape|safe }}
</span>
<div>
<a
href="{{nft_dict.link}}"
class="btn btn-primary"
style="
margin-top: 10px;
background-color: rgb(231, 114, 208);
border: none;
"
>View on OpenSea <i class="fas fa-arrow-circle-right"></i
></a>
</div>
</div>
</div>
</div>
</div>
</div>
class NewNFT(models.Model):
name = models.CharField(max_length=200)
image = models.ImageField(upload_to=get_upload_path)
gallery = models.ForeignKey(NewGallery, on_delete=models.CASCADE, related_name='newnft')
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='usernft')
description = models.CharField(max_length=3000)
link = models.URLField(max_length=300)
contract_address = models.CharField(max_length=300)
created_date = models.DateTimeField(auto_now_add=True)
edited_date = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name