Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 18, 2013 11:12:47

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Красивый переключатель языков.

Здравствуйте!
Вопрос имеет к django косвенное отношение, но всё же.
Есть рабочий, “традиционный” переключатель

<form action="/i18n/setlang/" method="post">
	{% csrf_token %}
      <input name="next" type="hidden" value="/" />
      <select name="language">
        {% for lang in LANGUAGES %}
          <option value="{{ lang.0 }}">{{ lang.1 }}</option>
        {% endfor %}
      </select>
      <input type="submit" value="Go" />
    </form>
Хочу сделать его в виде флажков
<form id='lang_en' action='/i18n/setlang/' method='POST'>{% csrf_token %}
    <input type='hidden' name='English' value='/'/>
    <a href='#' title='English' onclick="document.getElementById('lang_en').submit()">
        <img src="{% static 'img/flag/en.png' %}"/>
    </a>
</form>
<form id='lang_ru' action='/i18n/setlang/' method='POST'>{% csrf_token %}
    <input type='hidden' name='Russian' value='/'/>
    <a href='#' title='Russian' onclick="document.getElementById('lang_ru').submit()">
        <img src="{% static 'img/flag/ru.png' %}"/>
    </a>
</form>
Никак не могу понять, почему это вариант не работает (не переключает).

Офлайн

#2 Фев. 18, 2013 11:20:58

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Красивый переключатель языков.

В первом случае у Вас формируется POST из name=“language” value=“Что-там-в-выбранном-option”
Во втором случае - name=“English” value=“/”
То есть request.POST будет совершенно другой, с чего оно будет работать?



Офлайн

#3 Фев. 18, 2013 11:30:45

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Красивый переключатель языков.

Спасибо, разобрался\

Офлайн

#4 Апрель 13, 2013 10:52:09

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

Красивый переключатель языков.

dnstuff
Спасибо, разобрался\
Please share your knowledges which you've have got.

Thanks a lot.

Офлайн

#5 Апрель 13, 2013 10:57:44

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Красивый переключатель языков.

romankrv
<div class="lang">
<form id='lang_en' action='/i18n/setlang/' method='POST'>{% csrf_token %}
<input type='hidden' name='language' value='en'/>
<a href='#' title='English' onclick="document.getElementById('lang_en').submit()">
<img src="{% static 'img/flag/en.png' %}"/>
</a>
</form>
<form id='lang_ru' action='/i18n/setlang/' method='POST'>{% csrf_token %}
<input type='hidden' name='language' value='ru'/>
<a href='#' title='Russian' onclick="document.getElementById('lang_ru').submit()">
<img src="{% static 'img/flag/ru.png' %}"/>
</a>
</form>
</div>

Офлайн

#6 Апрель 14, 2013 18:55:26

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2763
Репутация: +  185  -
Профиль   Отправить e-mail  

Красивый переключатель языков.

ИХМО лучше поставить https://pypi.python.org/pypi/django-localeurl и формировать GET запрос для переключения языка.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#7 Апрель 15, 2013 13:03:44

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

Красивый переключатель языков.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version