Я использую следующую пользовательскую форму в моем приложении Django
:
forms.py
class UpdateURLForm(forms.ModelForm):
VideoURL = forms.URLField()
MainDescription = forms.CharField(max_length=100)
class Meta:
model = Listing
fields = ('VideoURL', 'MainDescription',)
Затем в views.py
Я импортирую форму и затем отображаю поля в моем шаблоне HTML
:
def edit_info(request):
if request.method == 'POST':
form = UpdateURLForm(request.POST)
if form.is_valid():
VideoURL = form.cleaned_data['VideoURL']
MainDescription = form.cleaned_data['MainDescription']
else:
form = UpdateURLForm()
return render(request, 'myapp/updateinfo.html', {'form': form})
HTML
:
<form action="#" method='post' class="card shadow-soft border p-4 mb-4">{% csrf_token %}
<div class="form-group">
<label for="video">Video URL:</label>
{{form.VideoURL|add_class:"form-control shadow-soft"}}
</div>
<div class="form-group">
<label for="video">Video URL:</label>
{{form.MainDescription|add_class:"form-control shadow-soft"}}
</div>
<div class="row">
<div class="col">
<button class="btn btn-primary btn-dark mt-2 animate-up-2 text-right"
type="submit">Update</button>
</div>
</div>
</form>
Сейчас , мой вопрос: как я могу отобразить поле MainDescription
в шаблоне, чтобы сохранить обе данные в базе данных? Способ отображения второго поля (MainDescription
) не работает. Спасибо!
Редактировать
Итак, у меня есть два поля в моей пользовательской форме, которые (VideoURL и MainDescription), которые я хотел бы использовать для обновления некоторой информации в БД , Когда я пытаюсь выполнить рендеринг в шаблоне HTML
, оба получают один и тот же идентификатор, тогда как я ожидал, что каждое поле формы будет отображено:
<input type="text" name="VideoURL" value="https://videourl.com" maxlength="100" class="form-control shadow-soft" required="" id="id_VideoURL">
Я не понимаю, чего мне не хватает.