Я использую django, чтобы сделать 2 языка для сайта
URL-адрес http://127.0.0.1:8000/
независимо от того, какой язык он есть.django i18n url setting
Как я могу сделать, чтобы сделать URL, как это: http://127.0.0.1:8000/en/
на английский сайт http://127.0.0.1:8000/zh_tw/
для китайского сайта
Пожалуйста, наставит меня! Большое спасибо.
индекс/index2.html:
<script type="text/javascript">
function selectdo(obj) {
str="/i18n/setlang/";
myform = document.getElementById('testform');
myform.method = "POST";
myform.action = str;
myform.submit();
}
</script>
<form name="testform" id="testform" method='post'>
{% csrf_token %}
<select id="language" name="language" onchange="selectdo(this)">
<option value="1" >{% trans "Languages" %}</option>
{% for langname in LANGUAGES %}
<option value="{{ langname.0 }}" > {{ langname.1 }}</option>
{% endfor %}
</select>
</form>
views.py
def index(request):
responseContext = {'lang':request.LANGUAGE_CODE,}
return render(request, 'index/index2.html',responseContext)
обновление:
Спасибо sajadkk за помощь мне
После установки i18n_patterns
я редактирую свою форму (добавьте скрытый вход) и успех!
Надеюсь, это поможет другим людям.
<form name="testform" id="testform" method='post'>
{% csrf_token %}
<input name="next" type="hidden" value="/" />
<select id="language" name="language" onchange="selectdo(this)">
<option value="1" >{% trans "Languages" %}</option>
{% for langname in LANGUAGES %}
<option value="{{ langname.0 }}" > {{ langname.1 }}</option>
{% endfor %}
</select>
</form>
он может перейти в '' '' HTTP: //127.0 .0.1: 8000/ru/'' '', но когда я хочу перейти на '' '' zh_tw''', ничего не произойдет. Является ли мой шаблон неправильным? – user2492364
Спасибо @sajadkk. Я успел – user2492364
, если ответ вам помог, пожалуйста, примите его :) – sajadkk