Django在一个模板文件中从单独的应用程序渲染模板

时间:2012-03-05 11:45:28

标签: django templates view

我需要在1个网页上显示两个模板的内容(来自不同的视图)(这些是并排登录和注册表格,迟早我会包含其他应用程序)。

因此,我创建了index.html,用于显示两个模板 - login.html和register.html - 使用{%include%} templatetag。但是,当我输入错误的值后,我才会重新定向到我导入的模板。

如何在其他(第三)模板中解决我从两个完全独立的视图中获取表单的问题?

2 个答案:

答案 0 :(得分:0)

  

如何解决我从两个完全独立的表格问题   其他(第三)模板中的视图?

您应该指定表单的操作属性。

答案 1 :(得分:0)

您可以使用上下文变量(例如“type”)来区分同一模板中的两个表单。

在view1中:

if login_form.is_valid():
    # do something
    return render_to_response("home.html", context_instance=RequestContext(request))
else:
    return render_to_response("index.html", {"login_form": login_form, "type": "login"}, context_instance=RequestContext(request))

在view2中:

if register_form.is_valid:
    # do something
    return render_to_response("home.html", context_instance=RequestContext(request))
else:
    return render_to_response("index.html", {"register_form": register_form, "type": "register"}, context_instance=RequestContext(request))