不是自己創建表單,而是使用ModelForm
,它會將表單綁定到應用中的模型,自動創建需要保存或編輯其鏈接模型實例的字段類型。
最簡單的方法爲Booking
實例添加到你的數據庫是使用一個ModelForm
:
from django.db import models
from django.forms import ModelForm
class Booking(models.Model):
...
class BookingForm(ModelForm):
class Meta:
model = Booking
見the Django docs的更多信息,ModelForm
秒。接下來,在您的視圖中創建的BookingForm
的實例傳遞在你的模板方面:
def your_view(request):
if request.method == 'POST':
form = BookingForm(request.POST)
if form.is_valid():
booking = form.save()
return HttpResponseRedirect('/success/url/')
else:
form = BookingForm()
return direct_to_template(request, 'your/template.html', {
'form': form
})
有關處理表單在您的看法Django文檔看using a form in a view更多信息。接下來,在您的模板,你可以簡單地打印整個形式(和所有相關的字段),像這樣:
<form action="" method="post">
{{ form.as_p }}
<input type="submit" name="submit" value="submit">
</form>
對模板形式的更多信息,請displaying a form using a template。
謝謝馬庫斯。但我已經在爲我的表單使用`ModelForm`。也許我沒有正確解釋自己。我有一張預訂表格。但在表單中我需要添加許多類(這是一種表單本身),我希望用一種形式來做到這一點。而不是2個單獨的 – sdk900 2011-01-31 03:39:17