请确保urlpatterns是path()和/或re\u path()实例的列表

2024-10-01 09:19:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我的urlpatterns怎么了?在

urlpatterns = [
    re_path(r'^dj-admin/', admin.site.urls),
    re_path(r'^admin/', include(wagtailadmin_urls)),
    re_path(r'^docs/', include(wagtaildocs_urls)),

    i18n_patterns(
        path(r'', include(wagtail_urls)),
        prefix_default_language = False
    )
]

ERRORS:
?: (urls.E004) Your URL pattern [ (None:None) ''>] is invalid. Ensure that urlpatterns is a list of path() and/or re_path() instances.

据我所知,它相当于docs中的示例:

^{pr2}$

顺便说一句:

In [1]: import django

In [2]: django.__version__
Out[2]: '2.0.5'

Tags: pathdjangoinrenonedocsincludeadmin
1条回答
网友
1楼 · 发布于 2024-10-01 09:19:14

您已经将i18n_patterns放在模式列表中,但是这个函数本身生成一个urlpatterns列表,而不是一个模式。这与您找到的文档不同。在

使用串联:

urlpatterns = [
    re_path(r'^dj-admin/', admin.site.urls),
    re_path(r'^admin/', include(wagtailadmin_urls)),
    re_path(r'^docs/', include(wagtaildocs_urls)),
] + i18n_patterns(
    path(r'', include(wagtail_urls)),
    prefix_default_language = False
)

或在函数调用前面加上*以将所有元素合并到列表中:

^{pr2}$

{or newer是Python}1.5,它需要。在

文档使用了+=增强赋值到extend列表urlpatterns列表,这可能是一个很好的重复使用模式:

urlpatterns = [
    re_path(r'^dj-admin/', admin.site.urls),
    re_path(r'^admin/', include(wagtailadmin_urls)),
    re_path(r'^docs/', include(wagtaildocs_urls)),
]

urlpatterns += i18n_patterns(
    path(r'', include(wagtail_urls)),
    prefix_default_language = False
)

相关问题 更多 >