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

时间:2019-06-06 13:21:52

标签: python django django-urls django-i18n

我需要检查请求路径是否在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中吗?谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用from django.urls import LocalePrefixPattern pattern = LocalePrefixPattern() def view(request): if not pattern.match(request.resolver_match.route): ... 检查url是否不在i18n_pattern中:

{{1}}