遇到问题我正在尝试编写一个非常简单的django应用程序。我不能让它在我的模板中显示我的表单。django新手。用ModelForm
<form ...>
{{form.as_p}}
</form>
它显示完全没有。如果我添加一个提交按钮,它只会显示。
我是否必须声明一个继承自forms.Form的表单对象?不能用ModelForms来完成吗?
[更新]解决!
在我的网址(为浪费你的时间道歉)文件我有:
(r'login/$',direct_to_template, {'template':'register.html'}
切换到:
(r'login/$','portal.views.register')
是的,我觉得可怕。
背景:
我有一个学生模型,我有一个注册页面。当它被访问时,它应该显示一个要求学生姓名的文本框。如果学生完成了该领域,那么它将保存它。
#models.py
class Student(models.Model):
name = models.CharField(max_length =50)
#forms.py
class StudentForm (forms.ModelForm):
class Meta:
model = Student
所以,这里是我的观点:
def register(request):
if request.method == 'POST':
form = StudentForm(request.POST)
if form.is_valid():
form.save()
return render_to_response('/thanks/')
else:
student = Student()
form = StudentForm(instance =student)
return render_to_response('register.html',{'form':form})
您不需要传递创建新学生的实例。我不确定这是否是使表单无法正常工作的原因,但这绝对没有必要。 –
我的不好:我在我的urls.py文件中使用了direct_to_template函数 谢谢大家! – Tom