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”值,它开始按我想要的方式工作。这很奇怪,因为在此之前,“下一个”字段是空的,但它将我重定向到主页。无论如何,谢谢你的解释!谢谢,但是没有,所有中间件都已启用。谢谢,但是没有,所有中间件都已启用。