Первое, что сейчас работает:
У меня есть форма, определенная в forms.py
:
class EnrollForm(forms.Form):
course_id = forms.IntegerField(required=True)
def enroll(self):
print(self.cleaned_data)
Я создаю указанную форму в виде в views.py
:
class EnrollView(FormView):
template_name = 'core/enroll.html'
form_class = EnrollForm
success_url=''
def form_valid(self, form):
form.enroll()
return super().form_valid(form)
Я отображаю это в enroll.html
:
<form action="." method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Enroll" />
</form>
Итак, когда я посещаю localhost:8000/core/enroll/
, я вижу форму во всей ее силе:
Однако, когда я пытаюсь включить этот файл в другой файл, используя
{% include "core/enroll.html" %}
в другом html-файле, который отображает только кнопку, в то время как тег {{ form }}
в enroll.html
ни к чему не приводит и просто молча завершается ошибкой, показывая:
EDIT1: это файл, из которого я пытаюсь включить форму:
<h1>{{ course.title }}</h1>
{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}
<ul>
{# reverse lookup on codes with course foreignkey relationship #}
{% for code in course.code_set.all %}
<li>{{ code.code }}</li>
{% endfor %}
</ul>
{% include "core/enroll.html" %}