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 что вы видите в приведенной выше фразе.

Вернуться на верх