Django translate引用了错误的URL

Django translate引用了错误的URL,django,python-3.x,django-i18n,Django,Python 3.x,Django I18n,我正在我的一个项目中使用Django(版本2.1.3),目前正在与一个奇怪的bug作斗争。我使用内置的国际化模块,并在我的主菜单中包含了一个语言切换程序,它加载到每个页面上 {% get_current_language as LANGUAGE_CODE %} <form id="form" action="{% url 'set_language' %}" method="post"> {% csrf_token %} <input name="next"

我正在我的一个项目中使用Django(版本2.1.3),目前正在与一个奇怪的bug作斗争。我使用内置的国际化模块,并在我的主菜单中包含了一个语言切换程序,它加载到每个页面上

{% get_current_language as LANGUAGE_CODE %}
<form id="form" action="{% url 'set_language' %}" method="post">
     {% csrf_token %}
     <input name="next" type="hidden" value="{{ request.get_full_path|strip_lang }}" />
     <input id="form_lang" name="language" type="hidden" value="{{ LANGUAGE_CODE }}"/>
</form>
<ul role="menu" class="dropdown-menu"id="lang-dropdown">
{% get_available_languages as LANGUAGES %}
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
     <li>
          <a href="#" onClick='(function(){                                              
               document.getElementById("form_lang").value = "{{ language.code }}";                                                    
               document.getElementById("form").submit(); return false;})();return false;'>
          {{ language.name_local }} ({{ language.code }})</a>
     </li>
{% endfor %}
</ul>
这一切都很好。但是,对于我的一个应用程序,我总是被重新路由到另一个应用程序。 如果我在小路上

 /en/app1/mypage1 
切换我突然出现的语言

 /fr/app2/mypage1
*****编辑*****

app2的引用正常工作。手动输入app1的URL时,页面将正确加载

主项目中的My url.py如下所示

urlpatterns = [
    path('admin/', admin.site.urls),
    path('i18n/', include('django.conf.urls.i18n')),
    ]
urlpatterns += i18n_patterns(
    path('app1/', include('app1.urls')),
    path('app2/', include('app2.urls')),
    path('app3/', include('app3.urls')),
    url(r'^$', TemplateView.as_view(template_name='home.html'), name='home'),
    url(r'^login/$', auth_views.LoginView.as_view(), {'template_name': 'login.html'}, name='login'),
    url(r'^logout/$', auth_views.LogoutView.as_view(), {'template_name': 'logged_out.html'}, name='logout'),
    url(r'^oauth/', include('social_django.urls', namespace='social')),
prefix_default_language=False)
urlpatterns = [
    path('', views.index, name='index'),
    path('surveys/', views.nrgt_surveys, name='nrgt_surveys'),
    path('surveys/<str:survey_name>/', views.survey, name='survey'),
    path('surveys/<str:survey_name>/<query_name>', views.survey_query, name='survey_query'),
    path('landscapes/', views.landscapes, name='landscapes'),
    path('landscapes/<str:landscape_name>/', views.landscape, name='landscape'),
    path('landscapes/<str:landscape_name>/<query_name>', views.landscape_query, name='landscape_query'),
]
我的应用程序的ans url.py如下所示

urlpatterns = [
    path('admin/', admin.site.urls),
    path('i18n/', include('django.conf.urls.i18n')),
    ]
urlpatterns += i18n_patterns(
    path('app1/', include('app1.urls')),
    path('app2/', include('app2.urls')),
    path('app3/', include('app3.urls')),
    url(r'^$', TemplateView.as_view(template_name='home.html'), name='home'),
    url(r'^login/$', auth_views.LoginView.as_view(), {'template_name': 'login.html'}, name='login'),
    url(r'^logout/$', auth_views.LogoutView.as_view(), {'template_name': 'logged_out.html'}, name='logout'),
    url(r'^oauth/', include('social_django.urls', namespace='social')),
prefix_default_language=False)
urlpatterns = [
    path('', views.index, name='index'),
    path('surveys/', views.nrgt_surveys, name='nrgt_surveys'),
    path('surveys/<str:survey_name>/', views.survey, name='survey'),
    path('surveys/<str:survey_name>/<query_name>', views.survey_query, name='survey_query'),
    path('landscapes/', views.landscapes, name='landscapes'),
    path('landscapes/<str:landscape_name>/', views.landscape, name='landscape'),
    path('landscapes/<str:landscape_name>/<query_name>', views.landscape_query, name='landscape_query'),
]
urlpatterns=[
路径(“”,views.index,name='index'),
路径('surveys/',views.nrgt\u surveys,name='nrgt\u surveys'),
路径('surveys/',views.survey,name='survey'),
路径('surveys/',views.survey\u query,name='survey\u query'),
路径('landscapes/',views.landscapes,name='landscapes'),
路径('landscape/',views.landscape,name='landscape'),
路径('landscape/',views.landscape\u query,name='landscape\u query'),
]

我没有在代码中的任何位置指定应用程序名称。当我跟踪我的网络请求时,我还可以看到POST请求中提交了正确的URL。为什么我的url会被修改?

发布你的url.py?谢谢@a_k_v,我从我的url中添加了相关部分。py你是否尝试完全删除该行
?我从来没有在我的项目中使用过这个隐藏的价值,i18n工作起来没有问题。