首先,当前正在做什么:
我在var rgTime = /^[0-9]{1,2}[:][0-9]{2}$/;
function testTimeEntry(t) {
if (!rgTime.test(t)){
app.alert("Opps! Time entry is invalid. Only numbers and the colon(:) are allowed.");
event.value = "";
}
}
中定义了一个表格:
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/
在另一个HTML文件中,该文件仅显示按钮,而{% include "core/enroll.html" %}
中的{{ form }}
标签不能解析为任何内容,只是默默地失败,显示:
EDIT1:这是我尝试包含以下格式的文件:
enroll.html
答案 0 :(得分:2)
这就是问题。当您访问 localhost:8000 / core / enroll / 时,django调用视图 EnrollView ,您可以在其中定义表单并将其传递给上下文。
在上下文中,它的html页面 enroll.html ,在这种情况下,它知道什么是表单变量。
另一方面,当您访问另一个页面时,永远不会调用 EnrollView 。包含的部分 {%include“ core / enroll.html”%} ,尝试呈现表单,但不知道表单变量是什么。
呈现有问题的html页面的视图(您想在其中看到表单,但不能在其中看到)应在上下文中添加 EnrollForm 。
context['form'] = EnrollForm()
类似于上面的行。然后您应该可以看到表格。