Django使用定义的URLconf,在i18n中尝试了这些URL模式

Django使用定义的URLconf,在i18n中尝试了这些URL模式,django,internationalization,wagtail,Django,Internationalization,Wagtail,我收到以下错误消息: Page not found (404) Request Method: GET Request URL: http://127.0.0.1:8000/en/sitepages/news-events/ Using the URLconf defined in project_name.urls, Django tried these URL patterns, in this order: i18n/ ar/ ar/ 40

我收到以下错误消息:

Page not found (404)
Request Method:     GET
Request URL:    http://127.0.0.1:8000/en/sitepages/news-events/

Using the URLconf defined in project_name.urls, Django tried these URL patterns, in this order:

    i18n/
    ar/
    ar/
    404/ [name='404']
    500/ [name='500']
    ^media/(?P<path>.*)$

The current path, en/sitepages/news-events/, didn't match any of these.
my sitepages/URL.py是:

urlpatterns = [
    path("i18n/", include("django.conf.urls.i18n")),
]


urlpatterns += i18n_patterns(
    path("bad/", bad),
    path("sitepages/", include("sitepages.urls")),
    path("", include("djvue.urls")),
    path("django-admin/", admin.site.urls),
    path("documents/", include(wagtaildocs_urls)),
    path("newsletter/", include("newsletter.urls")),
    path("tinymce/", include("tinymce.urls")),
    path("search/", search_views.search, name="search"),
    path("api/v1/", include("api_urls")),
    path("user/", include("user.urls", namespace="user")),
    path("api/v1/general/", include("general.urls", namespace="general")),
)
urlpatterns += i18n_patterns(
    path(f"{settings.ADMIN_URL}/", include(wagtailadmin_urls)),
    path("", include(wagtail_urls)),
)
if settings.DEBUG:
    urlpatterns += [
        # Testing 404 and 500 error pages
        path("404/", TemplateView.as_view(template_name="404.html"), name="404"),
        path("500/", TemplateView.as_view(template_name="500.html"), name="500"),
    ]

    from django.conf.urls.static import static

    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
app_name = "sitepages"

urlpatterns = [
    path("news-events/", sitepages_view, name='listing'),
]
我的sitepages/views.py是:

def sitepages_view(request):
    template = loader.get_template('sitepages/news_events_page_listing.html')
    context = {
        'news_pages': NewsDetails.objects.all(),
        'events_pages': EventsDetails.objects.all(),
        'listing_page': NewsEventsListing.objects.first(),
    }
    return TemplateResponse(request,template,context)
我做错了什么?如果我试图返回一个包含字符串的简单HttpResponse,它就会工作,如果我移动了该行

path("sitepages/", include("sitepages.urls")),
从根url.py中的i18n模式内部,将其放在正常的url模式中,如下所示:

urlpatterns = [
        path("i18n/", include("django.conf.urls.i18n")),
        path("sitepages/", include("sitepages.urls")),
    ]
我可以使用url
sitepages/news events/
访问模板,因此问题在于语言前缀

请注意,我的项目使用wagtail


如果英语是默认语言。出现此错误时,请尝试不使用“en”,django错误页面将显示添加的URL列表。检查您的url是否显示在其中。页面中显示的url不同。我无法追踪这个问题。但是你可以试试这个。我使用了django translation..只是为了测试,删除所有并尝试此..urlpatterns=i18n_模式(路径('sitepages/',包括('sitepages.url')),前缀_default_language=False,)前缀_default_language=False,用于不希望在url中显示默认语言的情况。您可以拥有或删除此文件。我认为您的文件或设置有问题。它不会显示您添加的url,也不会显示我在您的url文件中看不到的媒体url。在你添加翻译之前它能工作吗?