我需要检查请求路径是否在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
中吗?谢谢!
答案 0 :(得分:2)
您可以使用from django.urls import LocalePrefixPattern
pattern = LocalePrefixPattern()
def view(request):
if not pattern.match(request.resolver_match.route):
...
检查url是否不在i18n_pattern中:
{{1}}