Django setLang不处理;“下一步”;参数

Django setLang不处理;“下一步”;参数,django,translation,Django,Translation,我试图用以下代码实现动态语言更改: {% for lang in LANGUAGES %} <li> <form name="setLang{{ lang.1}}" action="/i18n/setlang/" method="POST">{% csrf_token %} <input name="next" type="hidden" value="http://google.com" /> <

我试图用以下代码实现动态语言更改:

 {% for lang in LANGUAGES %}
   <li>
      <form name="setLang{{ lang.1}}" action="/i18n/setlang/" method="POST">{% csrf_token %}
          <input name="next" type="hidden" value="http://google.com" />
         <input type="hidden" name="language" value="{{ lang.0 }}" />
        <a href="#" {% if LANGUAGE_CODE = lang.0 %} class="active" {%endif%} onclick="document.setLang{{ lang.1 }}.submit();return false;">{{ lang.0 }}</a>
      </form>
      </li>
{% endfor %}  
{%语言中的lang%}
  • {%csrf_令牌%}
  • {%endfor%}
    它工作得很好,问题是它不会返回到“next”字段中指定的URL。我强迫它成为“google.com”,只是为了看看它是如何工作的,但它一直把我重定向回我的主页

    这是我的URL.py:

    urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'izolyatsia.views.home', name='home'),
    # url(r'^izolyatsia/', include('izolyatsia.foo.urls')),
    url(r'^$', 'showcase.views.home', name='home'),
    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
    (r'^project/(?P<project_name>[a-zA-Z0-9_.-]+)/$', 'izolyatsia.views.project'),
    (r'^post/(?P<slug>[a-zA-Z0-9_.-]+)/$', 'izolyatsia.views.post'),
    
    #Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),
    (r'^tinymce/', include('tinymce.urls')),
    url(r'^wysiwyg_post/$', 'izolyatsia.views.wysiwyg_post', name='wysiwyg_post'),
    url(r'', include('multiuploader.urls')),
    (r'^i18n/', include('django.conf.urls.i18n')),
    url(r'^(.*)/$', 'pages.views.show_page', name='show_page'),
    
    urlpatterns=patterns(“”,
    #示例:
    #url(r'^$'、'izolyatsia.views.home',name='home'),
    #url(r“^izolyatsia/”,包括('izolyatsia.foo.url'),
    url(r'^$','showcase.views.home',name='home'),
    #取消注释下面的admin/doc行以启用管理员文档:
    #url(r“^admin/doc/”,包括('django.contrib.admindocs.url'),
    (r“^project/(?P[a-zA-Z0-9_.-]+)/$”,“izolyatsia.views.project”),
    (r'^post/(?P[a-zA-Z0-9.-]+)/$,'izolyatsia.views.post'),
    #取消注释下一行以启用管理员:
    url(r“^admin/”,包括(admin.site.url)),
    (r“^tinymce/”,包括('tinymce.url'),
    url(r“^wysiwyg_post/$”、“izolyatsia.views.wysiwyg_post”、name='wysiwyg_post'),
    url(r“”,包括('multiuploader.url'),
    (r“^i18n/”,包括('django.conf.urls.i18n'),
    url(r'^(.*)/$,'pages.views.show_page',name='show_page'),
    
    )

    我不知道为什么不行,也许这里有人能帮我

    提前感谢,,
    m、

    代码-视图调用明确阻止重定向到域外的站点,该代码检查您是否正试图这样做。

    代码明确阻止重定向到域外的站点-视图调用,检查您是否正试图这样做。

    请查看django文档,在那里您可以发现您的
    设置.py文件中应该按此顺序安装中间件:

    MIDDLEWARE_CLASSES = (
       'django.contrib.sessions.middleware.SessionMiddleware',
       'django.middleware.locale.LocaleMiddleware',
       'django.middleware.common.CommonMiddleware',
    )
    

    我想,这可能就是你的遭遇。

    请查看django文档,在那里你可以发现你的
    settings.py
    文件中应该有按此顺序排列的中间件:

    MIDDLEWARE_CLASSES = (
       'django.contrib.sessions.middleware.SessionMiddleware',
       'django.middleware.locale.LocaleMiddleware',
       'django.middleware.common.CommonMiddleware',
    )
    

    我想这可能就是你身上发生的事。

    是的,就是这样。非常感谢。我已经清除了“next”值,它开始按我想要的方式工作。这很奇怪,因为在此之前,“下一个”字段是空的,但它将我重定向到主页。无论如何,谢谢你的解释!是的,就是这样。非常感谢。我已经清除了“next”值,它开始按我想要的方式工作。这很奇怪,因为在此之前,“下一个”字段是空的,但它将我重定向到主页。无论如何,谢谢你的解释!谢谢,但是没有,所有中间件都已启用。谢谢,但是没有,所有中间件都已启用。