万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Djangoの言語切り換えボタン

    Django 1.6(1.7もOKかも?)

    テンプレートでは

          <form action="{% url 'set_language' %}" method="post">
            {% csrf_token %}
            <input name="nexta" type="hidden" value="{{ redirect_to }}" />
            <select name="language">
            {% get_language_info_list for LANGUAGES as languages %}
            {% for language in languages %}
            <option value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected="selected"{% endif %}>
              {{ language.name_local }} ({{ language.code }})
            </option>
            {% endfor %}
            </select>
            <input type="submit" value="Go" />
          </form>

    と記載。 redirect_toはそのままでOK。

    urls.py

    urlpatterns = patterns('',

    内にこれを追加

    (r'^i18n/', include('django.conf.urls.i18n')),

    settings.pyのMIDDLEWARE_CLASSESに注意 順番が重要!順番が重要!

    MIDDLEWARE_CLASSES = (
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.locale.LocaleMiddleware', # これ!
        'django.middleware.common.CommonMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',

    http://d.hatena.ne.jp/nullpobug/20131208/1386494359 ここにも記載されている。