【发布时间】:2018-12-05 14:40:21
【问题描述】:
首先,目前的工作是什么:
我在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 文件中,仅显示按钮,而 enroll.html 中的 {{ form }} 标记无法解析任何内容,只是默默地失败,显示:
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" %}
【问题讨论】:
-
模板的CCS是否支持嵌套模板?在您的页面上尝试检查元素以查看存在哪些 HTML 对象。对象可能存在于页面范围(容器)之外,因此不可见。
-
@t0bi 我已经检查过了,但忘记将其添加到帖子中。令牌和提交按钮之间的页面上没有代码。
-
奇怪。如果您发布更多您正在使用的其他模板,这可能会有所帮助。
-
用代码@t0bi编辑
标签: python django django-forms django-templates django-generic-views