【问题标题】:Django: Can't resolve an URL pattern from urls.pyDjango:无法从 urls.py 解析 URL 模式
【发布时间】:2014-01-03 07:08:35
【问题描述】:

我的问题如下: 在我的 urls.py 中,我定义了这些 url 模式:

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')

我的问题有什么解决办法吗?

【问题讨论】:

    标签: python django url django-urls


    【解决方案1】:

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

    r'^image/upload$'
    

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

    r'^image/upload/$'
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2016-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多