[問題] Django regex

作者: sean72 (.)   2015-03-30 01:56:13
在urls.py裡面 urlpatterns
url(r'^admin/', include(admin.site.urls)),
url(r'^(^.*$)$', 'joins.views.user', name='user'), #匹配所有亂碼
每一個亂碼都代表user
例如 ptt.cc/a23dfwert
我希望會導去一個user頁面
ptt.cc/admin 會導去系統admin
但是因為 ^(^.*$)$
所以/admin也被導至user頁面
我將regex改成"^(?!^admin$)(^.*$)$"
django卻抱怨Non-reversible reg-exp portion: '(?!'
請問我該如何excluse pattern string "admin"
~~
我在兩台不同電腦作業
我在A電腦,可能是因為我將下面這個pattern放在前面
url(r'^admin/', include(admin.site.urls)),
所以遇到ptt.cc/admin的時候會先中,而乖乖地自跑去admin頁面
不會有兩個pattern衝突的問題
另外一台電腦則會必定使用
url(r'^(^.*$)$', 'joins.views.user', name='user')
因而將admin也導去user頁面
有人知道這是為什麼嗎?
thx
作者: drm343 (一卡)   2015-03-30 18:26:00
urlpattern 的確是照順序跑下來沒錯,所以第一個中 admin就會跳去 admin,所以 url 順序要注意一下

Links booklink

Contact Us: admin [ a t ] ucptt.com