Можем ли мы добавить HTML attr со значением из нашей БД в Django?
У меня есть форма, я беру информацию в эту форму из моей БД.
My form.py
class TrafficSourcesForm(ModelForm):
class Meta:
model = TrafficSources
fields = ['name', 'token']
widgets = {
'name': TextInput(attrs={
'class': 'form-control',
'placeholder': 'Traffic source name'
}),
'token': TextInput(attrs={
'class': 'form-control',
'placeholder': 'API-token'
})
}
Мой views.py
def settings(request):
error = ''
if request.method == 'POST':
new_form = TrafficSourcesForm(request.POST, instance=request.POST.get('id'))
if new_form.is_valid():
# new_form.save()
error = request.POST.text
else:
error = 'Something went wrong!'
new_form = TrafficSourcesForm()
forms = [TrafficSourcesForm(instance=x) for x in TrafficSources.objects.all()]
return render(request, 'mainpage/dashboard.html', {'new_form': new_form, 'forms': forms, 'error': error})
МОЙ HTML
<table class="table table-striped table-hover">
<tr>
<th style="width: 42%">Name</th>
<th style="width: 43%">Token</th>
<th style="width: 15%">Action</th>
</tr>
{% for form in forms %}
<tr>
<td>{{ form.name }}</td>
<td>{{ form.token }}</td>
<td><button class="btn btn-lg btn-success w-100" form="{{form.instance.id}}">Save</button></td>
</tr>
{% endfor %}
<tr>
<td colspan="3">Add new traffic source:</td>
</tr>
<tr>
<td><input class="form-control" placeholder="Name"></td>
<td><input class="form-control" placeholder="API-token"></td>
<td><button class="btn btn-lg btn-success w-100">Add</button></td>
</tr>
</table>
Поскольку я использую табличный грид, мои формы для входов и кнопки отправки находятся вне таблицы. Таким образом, мне нужно поместить тег form="{переменная из БД, соответствующая форме}" на мои inputs. Что-то вроде номера экземпляра или поля имени из БД было бы неплохо. А так как я делаю свои входы с помощью {form.input} Я не представляю, как добавить туда этот тег с информацией из моей базы данных. Вы можете помочь?