Django 我的一个URL没有被翻译,这给了我一个404错误

Django 我的一个URL没有被翻译,这给了我一个404错误,django,python-3.6,Django,Python 3.6,我目前在使用Django 1.11时遇到翻译和url模式的问题 这是我的url.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

我目前在使用Django 1.11时遇到翻译和url模式的问题

这是我的url.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')
]
从django.conf.url导入url#noqa
从django.conf.urls.i18n导入i18n_模式
从django.utils.translation导入gettext\u lazy作为_
从core.View导入HomeView、SolutionView、SolutionView
URL模式=[
url(r'^$',HomeView.as_view(),name='home'),
url(“^solucoes$”),SolutionsView.as“\u view(),name='solutions'),
url({solutions}/{solution}$'。格式(
解决方案=r'^solucoes'),
溶液='(?P[\w-]+)'
),SolutionView.as_view(),name='solution')
]

名为
solutions
的url有效,但
solution
无效,即使在我翻译并运行
compilemessages
命令时,也会出现404错误。

在url模式上使用
.format
无效。我注意到,正确的方法(在中使用)是将整个url包装在
\uu

错:

url('{solutions}/{solution}$'.format(
            solutions=_(r'^solucoes'),
            solution='(?P<slug>[\w-]+)'
        ), SolutionView.as_view(), name='solution')
url({solutions}/{solution}$'。格式(
解决方案=r'^solucoes'),
溶液='(?P[\w-]+)'
),SolutionView.as_view(),name='solution')
正确:

url(_(r'^solucoes/(?P<slug>[\w-]+)/$'), SolutionView.as_view(), name='solution')
url(u(r'^solucoes/(?P[\w-]+)/$),SolutionView.as_view(),name='solution')