Django:如何在同一个URL中包含多个视图/类?

时间:2017-01-12 17:39:06

标签: django url redirect indexing views

我想在index.html中同时提供联系表单,简报表单和照片滑块/ portofolio。只有这一切被吸引到这个页面。

我是否正确地假设它与文档中的“URL调度程序”有关?并且有人可以帮助我提供一些关于如何将所有内容指向同一URL的示例吗?

希望所有内容在完成后,电子邮件发送后,注册简报后等都重定向回索引。只是为了更好地解释我在这里的意思,因为我没有知道用正确的术语来做。

提前感谢我能得到的所有帮助。

1 个答案:

答案 0 :(得分:0)

作为一种可能的解决方案,您可以创建包含多个表单的索引页面。每个表单都会在帖子上重定向到自己的视图,例如:

第一种形式:

<form action="{% url 'myapp:index_one' %}" enctype="multipart/form-data" method="post">

第二种形式:

<form action="{% url 'myapp:index_two' %}" enctype="multipart/form-data" method="post">

在每个视图中,您可以创建所有表单并将它们传递给index.html

def index_one():
    indexForm1 = index_form1()
    indexForm2 = index_form2()

    if request.POST:
        indexForm = index_form1(request.POST, request.FILES)
        //process first form here

    //load index.html and pass context with forms

在第二个视图中,您执行相同的操作但在POST时您处理另一个表单:

def index_two():
    indexForm1 = index_form1()
    indexForm2 = index_form2()

    if request.POST:
        indexForm2 = index_form2(request.POST, request.FILES)
        //process second form here

    //load index.html and pass context with forms

我在生产中有这样的解决方案并且工作正常。