2013-12-16 49 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都符合您的要求,因此您需要明确说明模式中停止的位置。