[英]One of my urls are not getting translated, giving me a 404 error
我目前在使用這種方法的 Django 1.11上遇到翻譯和url模式的問題。
這是我的urls.py。
from django.conf.urls import url # noqa
from django.conf.urls.i18n import i18n_patterns
from django.utils.translation import gettext_lazy as _
from core.views import HomeView, SolutionsView, SolutionView
urlpatterns = [
url(r'^$', HomeView.as_view(), name='home'),
url(_(r'^solucoes$'), SolutionsView.as_view(), name='solutions'),
url('{solutions}/{solution}$'.format(
solutions=_(r'^solucoes'),
solution='(?P<slug>[\w-]+)'
), SolutionView.as_view(), name='solution')
]
具有名稱solutions
的URL有效,但是solution
無效,即使我翻譯並運行compilemessages
命令,也出現404錯誤。
在urlpatterns上使用.format
不起作用。 我注意到正確的方法(在文檔中使用 )是將整個url包裝在_
。
錯誤:
url('{solutions}/{solution}$'.format(
solutions=_(r'^solucoes'),
solution='(?P<slug>[\w-]+)'
), SolutionView.as_view(), name='solution')
正確:
url(_(r'^solucoes/(?P<slug>[\w-]+)/$'), SolutionView.as_view(), name='solution')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.