如何更改不同网址的模板

时间:2013-04-12 06:04:37

标签: python django

我有公共站点和管理站点的搜索表单。但他们有不同的模板但视图相同。

是否可以在网址中传递模板名称或使用某些条件逻辑

我有这个观点

class Search(View):
    form_class = SearchForm
    #i want something like that
    if url1 == /public/search
       template_name = 'search1.html'
    else
       template_name = 'search2.html'

1 个答案:

答案 0 :(得分:1)

如果你有两个独立的网址,你可以通过urlconf将变量传递给你的视图;

url(r'^public/search/$', MyView.as_view(template_name="search1.html"), name= 'public_search')
url(r'^private/search/$', MyView.as_view(template_name="search2.html"), name= 'private_search')
  

传入as_view()的参数将分配到用于为请求提供服务的实例上。使用前面的示例,这意味着MyView上的每个请求都可以使用self.size。参数必须与类中已存在的属性相对应(在hasattr检查时返回True)。