如何检查网址是否不在i18n_pattern中?

问题描述 投票:1回答:1

我需要检查请求路径是否在i18n_pattern之外,即它不应具有'lang'前缀。例如,我有以下urls.py:

urlpatterns = [
    path('api/', include('api.urls'), name='api'),
]

urlpatterns += i18n_patterns(
    path('', include('core.urls'), name='index'),
    prefix_default_language=False
)

[api]的reverse表明,无论使用哪种语言,它都不会添加前缀。还有其他方法可以确定当前请求的路径未包含在i18n_patterns中吗?谢谢!

python django django-urls django-i18n
1个回答
0
投票

您可以使用django.urls.LocalePrefixPattern检查url是否不在i18n_pattern中:

from django.urls import LocalePrefixPattern

pattern = LocalePrefixPattern()
if not pattern.match(request.path):
    ... 
© www.soinside.com 2019 - 2024. All rights reserved.