Django保留的URL名称

时间:2014-08-25 13:34:41

标签: python django

我在django网站上有这些观点。我想将用户重定向到类似

的类别

http://sitename.com/category1/

http://sitename.com/category2/

http://sitename.com/category3/

但是如果我想去观看页面或注册页面,django会检测我的视图名称,比如类别名称:

http://sitename.com/register/

http://sitename.com/watch/

django将我重定向到类别视图。我该如何解决我的问题?

url(r'^management/', include(admin.site.urls)),
url(r'^$', views.ana_sayfa),
url(r'^(.+)/', views.kategori),
url(r'^register/', views.kayit_sayfasi),
url(r'^watch/(.+)/', views.ondemand_izleme_sayfasi),
url(r'^event/(.+)/', views.live_stream_sayfasi),
url(r'^live/(.+)/', views.live_stream_izleme_sayfasi),
url(r'^buy/(.+)/', views.live_stream_satin_alma_sayfasi),
url(r'^search/(.+)/', views.arama),
url(r'^manager/', views.video_yoneticisi),
url(r'^lists/', views.listelerim),
url(r'^profile/', views.bilgilerimi_guncelle),
url(r'^messages/', views.mesajlarim),
url(r'^subscriptions/', views.abonelikler),
url(r'^settings/', views.bildirim_ayarlari),
url(r'^contact/', views.iletisim),
url(r'^help/', views.yardim),
url(r'^rss/', views.rss),
url(r'^oneall/', include('django_oneall.urls')),

2 个答案:

答案 0 :(得分:1)

在其他模式之前评估您的类别网址模式。 您可以将其移至底部,因此将首先评估所有其他人。 所以将这一行移到底部:

url(r'^(.+)/', views.kategori),

另见URL dispatching:

  

Django按顺序遍历每个URL模式,并在第一个匹配请求的URL的位置停止。

答案 1 :(得分:0)

按顺序评估URL路由模式。您需要将类别路线url(r'^(.+)/', views.kategori),向下移动到底部,因为^(.+)匹配包含一个或多个字母加斜线的所有内容,或者将正则表达式从'^(.+)/'更改为类似{ {1}}。