2014-12-10 6 views
1

Я использую 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> 

ответ

0

Вы можете использовать i18n_patterns для того,

from django.conf.urls.i18n import i18n_patterns 

urlpatterns += i18n_patterns('', 
    url(r'^admin/', include(admin.site.urls)), 
    #your urls 
) 

забудьте добавить django.middleware.locale.LocaleMiddleware

+0

он может перейти в '' '' HTTP: //127.0 .0.1: 8000/ru/'' '', но когда я хочу перейти на '' '' zh_tw''', ничего не произойдет. Является ли мой шаблон неправильным? – user2492364

+0

Спасибо @sajadkk. Я успел – user2492364

+0

, если ответ вам помог, пожалуйста, примите его :) – sajadkk

Смежные вопросы