Django:无法解析urls.py中的URL模式

时间:2013-12-16 00:27:14

标签: python django url django-urls

我的问题如下: 在我的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 /图像/上传从 - 网址 Django总是执行第一个模式(r'^ image / upload')

我的问题有解决办法吗?

2 个答案:

答案 0 :(得分:1)

您需要在模式的末尾插入美元符号“$”。美元符号是代表位置的字符。在正则表达式的情况下,这是字符串的结尾。由于image/uploadimage/upload-from-url都符合您要查找的内容,因此您需要明确说明在模式中停止的位置。

答案 1 :(得分:1)

Django使用第一个匹配模式,而您的^image/upload模式不包含任何阻止匹配较长文本的内容。解决方案是要求您的模式也匹配字符串的结尾:

r'^image/upload$'

按照惯例,Django URL通常也有一个尾部斜杠,但这并不是严格要求的:

r'^image/upload/$'