Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django-set_language()trans url_Python_Django - Fatal编程技术网

Python django-set_language()trans url

Python django-set_language()trans url,python,django,Python,Django,也许这已经在某个地方完成了,但让我再问一次 我有这个选择语言选项来更改页面的语言 <form action="{% url 'set_language' %}" method="post"> {% csrf_token %} <input name="next" type="hidden" value="{% trans request.path %}" /> <select name="language" class="langoption"&g

也许这已经在某个地方完成了,但让我再问一次

我有这个选择语言选项来更改页面的语言

<form action="{% url 'set_language' %}" method="post">
   {% csrf_token %}
   <input name="next" type="hidden" value="{% trans request.path %}" />
   <select name="language" class="langoption">
     {% for lang in LANGUAGES %}
        <option value="{{lang.0}}" {% if lang.0 == LANGUAGE_CODE %} selected {% endif %}>
            {{lang.1}}
        </option>
     {% endfor %}
   </select>
</form>
在.po文件中有一个“
”^horoscope/$”
的翻译:
“^horoskop/$”
(德语翻译)

如果我将语言更改为德语,django会成功地更改它,但我得到404页,因为它正在重定向到URL.py中不再存在的
/horoscope/
。。已更改为
/horoskop/
。我如何解决这个问题

我试图给予

<input name="next" type="hidden" value="{% trans request.path %}" />

但它仍然是当前的语言


感谢您的帮助

您有权访问“设置语言”视图吗?在那里,您可以控制重定向,并且必须将“下一个”表单字段的给定值从以前的语言转换为当前语言。

是否使用django.utils.translation import ugettext\u lazy as或django.utils.translation import ugettext as?@Norman8054 yep,推荐的第一个
<input name="next" type="hidden" value="{% trans request.path %}" />