Django FormModel отображает поля в HTML-форме
На моем сайте Django созданы формы, они были созданы вручную с помощью HTML, а затем с помощью JavaScript для POST
содержимого формы в модель.
Теперь я работаю над обновлением модели. Я взял существующую HTML форму для страницы, но не могу понять, как мне сопоставить поля view
с HTML формой?
Views.py
def update_event(request,event_id):
event = Event.objects.get(pk=event_id)
form = addEventForm(request.POST or None, instance=event)
return render(request, 'pages/update_event.html', {'event': event, form : form})
models.py
class Event(models.Model):
project = models.ForeignKey(Game, to_field='project_name', on_delete=models.CASCADE)
event_name = models.CharField(max_length=20)
event_date = models.DateTimeField(blank=True, null=True)
def __str__(self):
return str(self.event_name)
HTML
<div class="col-md-6">
<div class="mb-3">
<label class="form-label" for="event-name-label">Event Name</label>
<input type="text" class="form-control" id="event-name" value="" required>
<div class="valid-feedback">
Looks good!
</div>
<div class="invalid-feedback">
Please fill Event name.
</div>
</div>
</div>
Я пробовал использовать form.event_name
, но это не работает.
Любая помощь была бы замечательной
Спасибо
У вас синтаксическая ошибка в последней строке вашего представления, и вы должны использовать "form": form
В вашем HTML-коде вы должны использовать две скобки, чтобы использовать django HTML syntax: {{ form.instance.event_name }}
последнее instance
что вы видите в приведенной выше фразе.