这里是Django的新手。我想按顺序实现两种形式,其中第二种形式取决于第一种形式的保存。例如:View_A实现表单A的GET / POST方法。一旦提交并保存了表单A,它将生成一个唯一的ID。表单A还具有一个带有两个选项(B和C)的单选按钮。根据做出的选择,我需要为用户提供第二个表单B或C,其中表单A的唯一ID会自动填充。表单B和C的前提是存在表单A上的唯一ID。我不能使用AJAX,因为表单A必须先保存。
我的问题是,一旦我按下表格A的提交按钮,它就会变成POST请求。我可以生成唯一的ID,并将其显示在返回的html模板中。但是,它仍然是相同的视图,我不知道下一个表单的显示方式。理想情况下,B / C表格的显示应该是GET请求。但是我在POST请求中。
我希望这是一个足够清楚的问题。
谢谢
答案 0 :(得分:0)
您将必须实现三个视图,每个视图一个。当用户保存表单A时,您将检查表单是否有效并生成标识符。之后,只需返回HttpRedirect
。如果该过程使用了标识符,则还可以将其作为参数提供给下一个视图。
def my_view(request):
# Construct your form from the POST data
if form.is_valid():
return redirect('next-form-view', identifier=your-generated-identifier)
有关重定向快捷方式的文档可以在here中找到。