【问题标题】:Django 1.10 patterns rewriteDjango 1.10 模式重写
【发布时间】:2017-02-04 18:35:20
【问题描述】:

Wagtail docs 包含以下设置urls.py 的示例:

if settings.DEBUG:
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns

    urlpatterns += staticfiles_urlpatterns() # tell gunicorn where static files are in dev mode
    urlpatterns += static(settings.MEDIA_URL + 'images/', document_root=os.path.join(settings.MEDIA_ROOT, 'images'))
    urlpatterns += patterns('',
    (r'^favicon\.ico$', RedirectView.as_view(url=settings.STATIC_URL + 'myapp/images/favicon.ico'))
)

patterns 在 Django 1.10 中已弃用。如何重写最后的 urlpatterns 以在 Django 1.10 中工作?我使用python 3.5。感谢您的帮助。

我试过这个:

if settings.DEBUG:
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns

    urlpatterns += staticfiles_urlpatterns() # tell gunicorn where static files are in dev mode
    urlpatterns += static(settings.MEDIA_URL + 'images/', document_root=os.path.join(settings.MEDIA_ROOT, 'images'))
    urlpatterns += url(r'^favicon\.ico$', RedirectView.as_view(url=settings.STATIC_URL + 'myapp/images/favicon.ico'))

但它会导致错误:

TypeError: 'RegexURLPattern' object is not iterable

【问题讨论】:

    标签: django python-3.x wagtail


    【解决方案1】:

    您已根据需要将元组转换为url() 实例。现在你只需要把它放在一个列表中。

    urlpatterns += [
        url(r'^favicon\.ico$', RedirectView.as_view(url=settings.STATIC_URL + 'myapp/images/favicon.ico')),
    ]
    

    【讨论】:

      【解决方案2】:

      在 Django 1.8+ 中,urlpatterns 只是一个 url 列表。您可以将模式重写为列表[],而不是使用patterns

      【讨论】:

        猜你喜欢
        • 2020-01-20
        • 2017-02-11
        • 2017-05-11
        • 1970-01-01
        • 2017-08-19
        • 2016-12-11
        • 2017-02-26
        • 2017-07-30
        • 1970-01-01
        相关资源
        最近更新 更多