我的问题如下: 在我的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')
我的问题有解决办法吗?
答案 0 :(得分:1)
您需要在模式的末尾插入美元符号“$”。美元符号是代表位置的字符。在正则表达式的情况下,这是字符串的结尾。由于image/upload
和image/upload-from-url
都符合您要查找的内容,因此您需要明确说明在模式中停止的位置。
答案 1 :(得分:1)
Django使用第一个匹配模式,而您的^image/upload
模式不包含任何阻止匹配较长文本的内容。解决方案是要求您的模式也匹配字符串的结尾:
r'^image/upload$'
按照惯例,Django URL通常也有一个尾部斜杠,但这并不是严格要求的:
r'^image/upload/$'