python – 没有尾随斜杠的Django i18n_patterns
发布时间:2020-12-20 13:16:13 所属栏目:Python 来源:网络整理
导读:我正试图摆脱网址上的尾随斜线.目前网络服务器成功删除斜线和APPEND_SLASH = false一切正常但我的本地化主页有问题: http://example.com/en/ - okhttp://example.com/en - Page not found (404)Django tried these URL patterns,in this order:^admin/^en/T
我正试图摆脱网址上的尾随斜线.目前网络服务器成功删除斜线和APPEND_SLASH = false一切正常但我的本地化主页有问题:
http://example.com/en/ - ok http://example.com/en - Page not found (404) Django tried these URL patterns,in this order: ^admin/ ^en/ The current URL,en,didn't match any of these. 这是我的urls.py设置: urlpatterns = [ url(r'^admin/',admin.site.urls),] urlpatterns += i18n_patterns( url(r'^$',views.index,name='index'),) 它可以使这些i18n_patterns无斜线工作吗? 解决方法
我最终创建了一个执行以下操作的中间件:
from django.shortcuts import redirect from django.utils import translation def add_i18npatterns_trailing_slash(get_response): def middleware(request): response = get_response(request) if response.status_code == 404: language_code = translation.get_language() if request.path.endswith(language_code): return redirect(f'{request.path}/') return response return middleware (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |