2013-12-16 65 views
0

我的問題解決了URL模式如下: 在我的urls.py我已經定義了這些URL模式:Django的:不能從urls.py

url(r'^image/upload', 'main.views.presentations.upload_image'), 
url(r'^image/upload-from-url', 'main.views.presentations.upload_image_from_url'), 

的問題是,當我從我打電話瀏覽器的URL myowndomain:8000/image/upload-from-url Django總是執行第一個模式(r'^ image/upload')

有沒有解決我的問題的方法?

回答

1

Django使用第一種匹配模式,並且您的^image/upload模式不包含任何內容以阻止它匹配較長的文本。該解決方案是要求你的模式也匹配字符串的結尾:

r'^image/upload$' 

按照慣例,Django的網址通常尾隨的斜槓爲好,但是這不是嚴格要求:

r'^image/upload/$' 
+0

謝謝, 有效! –

1

您需要在模式的末尾插入美元符號「$」。美元符號是代表頭寸的字符。在正則表達式中,這是字符串的結尾。由於image/uploadimage/upload-from-url都符合您的要求,因此您需要明確說明模式中停止的位置。