3
我想翻譯一個使用內置i18n的django應用程序。我已經根據教程標記了要翻譯和創建的文本並編譯了語言文件(.po/.mo
),並且沒有發生錯誤。我也改變了USE_I18N
爲true的設置文件,並添加下面一行到urls.py作爲教程指示:Django i18n setlang視圖給出錯誤404
(r'^i18n/', include('django.conf.urls.i18n')),
我也是在settings.py定義允許語言的列表,如由教程指導。
然後我創建了一個新的頁面HTML模板和教程給了一個語言選擇頁面的代碼複製:
<form action="/i18n/setlang/" method="post"> {% csrf_token %} <input name="next" type="hidden" value="{{ redirect_to }}" /> <select name="language"> {% get_language_info_list for LANGUAGES as languages %} {% for language in languages %} <option value="{{ language.code }}">{{ language.name_local }} ({{ language.code }})</option> {% endfor %} </select> <input type="submit" value="Go" /> </form>
該網頁的作品完美了,但是當我點擊「轉到」,它告訴我有一個錯誤加載頁面:
Failed to load resource:http://localhost:8000/i18n/setlang/
the server responded with a status of 404 (NOT FOUND)
我試圖通過該鏈接替換變量變化的重定向,但是這給了我同樣的結果。我試圖改變表單的行動路徑和urls.py萬一有一些雙重命名,這給了我同樣的錯誤。
我一直在閱讀教程和自述文件,以及一些國際化的文件,似乎無法找到它不起作用的原因,我真的很感激答案。謝謝你
非常感謝您的回答,儘管我在閱讀您的文章前2分鐘才找到另一個解決方案。我繞過了包含的django代碼,並且包含了一個到urls.py中的視圖的直接鏈接,儘管我必須重命名並取出斜槓: 'url(r'^ setlang','django.views.i18n.set_language '), '