0

我正在开发一个单页网站,该网站在同一页面上有 3 种不同的表单:

  • 旅游形式
  • 飞行形式
  • 书本

我使用模型表单创建了表单,但是如何显示表单以便我的站点知道我将数据提交到哪个表单?

4

1 回答 1

0

你需要在你的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>
于 2020-10-04T20:40:37.427 回答