模板在渲染中切换到响应

时间:2014-02-20 23:45:42

标签: python django

我要做的是在我的视图中进行模板切换。 我希望能够测试2个模板(test1.html& test2.html)。

views.py

def testPage(request):
     .... yay code that does stuff ....
     return render_to_response(if 'test1' in url: 'signup/test1.html' else : 'signup/test2.html', context_instance=RequestContext(request))

我如何在视图中识别网址?这种事可能吗?提前谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您可以设置urls.py文件以传入不同的参数。请参阅此处的docs

# urls.py
urlpatterns = patterns('blog.views',
    url(r'^test/$', 'views.testPage', {'template_name': 'signup/test1.html'}),
    url(r'^$', 'views.testPage', {'template_name': 'signup/test2.html'}),
)

# views.py
def testPage(request, template_name):
    # code goes here
    return render_to_response(template_name, context_instance=RequestContext(request))

答案 1 :(得分:1)

您可以使用request.path或request.get_full_path。您的代码已修改:

def testPage(request):
 .... yay code that does stuff ....
 return render_to_response(if 'test1' in request.path: 'signup/test1.html' else : 'signup/test2.html', context_instance=RequestContext(request))