这是将视图方法分配给多个URL的正确方法吗?

问题描述:

我想我首先应该问,如果这是可能的,第二我在做正确吗?我只是试图使userena_views.signup第二个网址(测试),并在第二个分配一个不同的模板。这是将视图方法分配给多个URL的正确方法吗?

urlpatterns = patterns('', 
    # Signup, signin and signout 
    url(r'^signup/$', 
     userena_views.signup, 
     name='userena_signup'), 
    url(r'^test/$', 
     userena_views.signup, {'template_name': 'myproject/templates/custom.html',}, 
     name='userena_signup') 
+0

你可以,只要你给唯一的名称。相反..我应该问,你是否试过这段代码? – karthikr 2014-09-25 01:01:24

+0

嗨,谢谢你的回复(我看到你回应了我以前的许多问题)。我没有尝试这个代码,因为它位于Site-Packages/Userena内部,我有点偏执于改变这个目录内的东西。 – stephan 2014-09-25 01:04:59

+1

Nooooo - 您应该__never__在网站目录中触摸代码。您现在可以在您的根网址中配置此URL模式,并调用userna软件包。只要确保'name'属性是唯一的 – karthikr 2014-09-25 01:42:39

我该如何去做就是传递一个参数。在视图内部,您可以根据传入哪个参数来分配模板。这有点麻烦,最好不要修改站点包代码,但有时候这是必要的。

urlpatterns = patterns('', 
    # Signup, signin and signout 
    url(r'^(?P<signup_type>signup)/$', userena_views.signup, name='userena_signup'), 
    url(r'^(?P<signup_type>test)/$', userena_views.signup, name='test_userena_signup')