我有一些問題,在urls.py正則表達式(我是一個初學者的Django以及一般的正則表達式)django中的urls.py正則表達式評估順序是什麼?
這是我原來的urls.py
url(r'^name/(?P<name>\w+)/$', 'course.views.name'),
url(r'^', 'course.views.index'),
我試着用來訪問它的:
http://127.0.0.1:8000/name/blah/
我的看法是這樣的:
def index(request):
return HttpResponse("Hello, sam. You're at the course index.")
def name(request, name):
return HttpResponse("Hello, %s. You're at the course index." % name)
我得到的結果是,無論我給了什麼輸入,我都會定期獲得「索引」功能,而不是「名稱」功能。我認爲問題出在第一個正則表達式上。
但後來,我換了2號之一:
url(r'^$', 'course.views.index'),
這沒有問題我想它的工作方式!
我知道「$」意味着行尾,但不應該第一個正則表達式先評估過了嗎?這些表達式的匹配順序是什麼?
爲每個網址添加「$」並不是什麼大不了的事,但我想明白爲什麼我把它放在那裏。
我使用Django1.4和Python 2.7
爲每個網址添加一個「$」並不是什麼大事,但我想明白爲什麼我把它放在那裏:) – Samudra