Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将国际化添加到Django URL,并在添加的前缀之后添加语言前缀_Django_Url_Internationalization - Fatal编程技术网

将国际化添加到Django URL,并在添加的前缀之后添加语言前缀

将国际化添加到Django URL,并在添加的前缀之后添加语言前缀,django,url,internationalization,Django,Url,Internationalization,由于这个答案,我知道如何为所有URL添加通用前缀。但我希望URL中添加的前缀总是位于语言前缀之前(由i18n_模式添加) 例如:有了上面的代码,我想要一个urlhttps://example.com/mycuteprefix/en/indicators/而不是通常的https://example.com/en/mycuteprefix/indicators/ 每当我对第一个urlpatterns应用国际化时,我都会得到一个错误。例如,如果我尝试下面的方法: urlpatterns = [

由于这个答案,我知道如何为所有URL添加通用前缀。但我希望URL中添加的前缀总是位于语言前缀之前(由
i18n_模式添加)

例如:有了上面的代码,我想要一个url
https://example.com/mycuteprefix/en/indicators/
而不是通常的
https://example.com/en/mycuteprefix/indicators/

每当我对第一个
urlpatterns
应用国际化时,我都会得到一个错误。例如,如果我尝试下面的方法:

urlpatterns = [
    path("grappelli/", include("grappelli.urls")),  # grappelli URLS
    path("admin/doc/", include("django.contrib.admindocs.urls")),
    path("admin/", admin.site.urls),
    path("pages/", include("django.contrib.flatpages.urls")),
    re_path(r"^api-auth/", include("rest_framework.urls")),
    re_path(r"^accounts/", include("allauth.urls")),
    re_path(r"^indicators/", include("indicators.urls", namespace="indicators")),
]

urlpatterns += i18n_patterns(
    path("", TemplateView.as_view(template_name="landing.html"), name="landing"),
    )

if settings.URL_PREFIX:
    urlpatterns = [path(r"{}".format(settings.URL_PREFIX), include(urlpatterns))]
我有一个错误:

urlpatterns=[path(r“{}”.format(settings.URL_前缀),include(urlpatterns))] 文件“/home/username/.virtualenvs/roject/lib/python3.5/site packages/django/url/conf.py”,第52行,包含在include中 '不允许在包含的URLconf中使用i18n_模式。' django.core.exceptions.ImpropertlyConfigured:不允许在包含的URLconf中使用i18n_模式

如何做到这一点

urlpatterns = [
    path("grappelli/", include("grappelli.urls")),  # grappelli URLS
    path("admin/doc/", include("django.contrib.admindocs.urls")),
    path("admin/", admin.site.urls),
    path("pages/", include("django.contrib.flatpages.urls")),
    re_path(r"^api-auth/", include("rest_framework.urls")),
    re_path(r"^accounts/", include("allauth.urls")),
    re_path(r"^indicators/", include("indicators.urls", namespace="indicators")),
]

urlpatterns += i18n_patterns(
    path("", TemplateView.as_view(template_name="landing.html"), name="landing"),
    )

if settings.URL_PREFIX:
    urlpatterns = [path(r"{}".format(settings.URL_PREFIX), include(urlpatterns))]