我正在使用django.views.i18n.set_language()
重定向 View 和HTML表单,用户可以在其中选择语言。
我正在按照 Django documentation for i18n translation 中的描述进行所有操作。
我所做的唯一区别是,在 HTML 表单中,我将下一个参数的值从 {{redirect_to}}
更改为 {{request.get_full_path}}
无论如何,当我在本地测试它时,它工作得很好。我可以选择不同的语言,它会重新加载当前页面,但使用不同的语言。
现在我将应用程序放在 VPS 上,我使用 Gunicorn 作为应用程序服务器,使用 Nginx 作为 Web 服务器。现在,当我选择不同的语言时,它仍然会改变它,但它总是将我重定向到主页/(网站根目录)。
我不知道为什么现在会发生这种情况以及如何改变它。我希望他再次重新加载同一页面,而不是始终将我重定向到/。不管怎样,翻译仍然很好。
谢谢您的回复
亲切的问候
最佳答案
Wander Nauta已在评论中回复
Are you sure request.get_full_path is available in the template?
您需要添加django.core.context_processors.request
在模板上下文处理器设置中,即 not there by default .
关于python - 尽管定义了下一个参数,Django set_language 函数仍重定向到站点根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27529452/