我正在开发一个单页网站,该网站在同一页面上有 3 种不同的表单:
- 旅游形式
- 飞行形式
- 书本
我使用模型表单创建了表单,但是如何显示表单以便我的站点知道我将数据提交到哪个表单?
我正在开发一个单页网站,该网站在同一页面上有 3 种不同的表单:
我使用模型表单创建了表单,但是如何显示表单以便我的站点知道我将数据提交到哪个表单?
你需要在你的views.py中传递你的表格
from your_app.forms import TourForm, FlightForm, BookForm
def your_view_name(request):
if request.method == 'POST':
tour_form = TourForm(request.POST or None)
flight_form = FlightForm(request.POST or None)
book_form = BookForm(request.POST or None)
# so you have 3 different forms
if tour_form.is_valid():
tour_form.save()
return redirect('some_url')
elif flight_form.is_valid():
flight_form.save()
return redirect('some_url')
elif book_form.is_valid():
book_form.is_save()
return redirect('some_url')
else:
return redirect('some_url')
else:
tour_form = TourForm()
flight_form = FlightForm()
book_form = BookForm()
context = {
'tour_form': tour_form,
'flight_form': flight_form,
'book_form': book_form
}
return render(request, 'your_template_name.html', context)
然后只需在您的模板中添加您的表单
<form method='post'>
{% csrf_token %}
{{ tour_form }}
<button class='btn btn-primary' type='submit'>submit</button>
</form>
<form method='post'>
{% csrf_token %}
{{ flight_form }}
<button class='btn btn-primary' type='submit'>submit</button>
</form>
<form method='post'>
{% csrf_token %}
{{ book_form }}
<button class='btn btn-primary' type='submit'>submit</button>
</form>