Django отображает объект формы, а не поля формы

Наверняка я упустил что-то очевидное, но любая помощь будет оценена по достоинству.

У меня есть модель формы:

class UserForm(forms.Form):
    name = forms.CharField()

Вид:

def userform(req):

    context = {}
    context['user_form'] = UserForm()
    context['message'] = 'test message'

    return render(req, 'apps/userform.html', context)

И шаблон:

{% extends 'base.html' %} 
{% block title %} | User Form {% endblock %} 
{% block content %}
<h1>Form page</h1>
<form method='POST'>
    {% csrf_token %}
    {{ user_form }}
    <button type='submit'>Send</button>
</form>
{{ message }}
{% endblock %}

Я уверен, что все подключено правильно и импортировано как нужно - свойство 'message' на контексте нормально отображается на форме.

Однако {{ user_form }} в шаблоне отображает реальный экземпляр объекта Form, а не реальное поле формы, которое я ожидаю. Я вижу:

<userform.views.UserForm object at 0x7fcab17e5c10>

Затем кнопка отправки формы.

Что я пропустил?

Django 4, если это имеет значение.

Проблема заключалась в том, что у меня было представление на основе класса в файле views с тем же именем, что и класс Form - я полагаю, что оно инстанцировалось, а не класс Form. Закомментировал CBV, и все заработало.

Если бы я внимательнее смотрел на сообщение об ошибке, я бы, вероятно, увидел это раньше, поскольку инстанцированный объект явно находится в папке views, а не в папке forms...

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