遇到問題我正在嘗試編寫一個非常簡單的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