Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何更改Django管理语言?_Python_Django_Django I18n - Fatal编程技术网

Python 如何更改Django管理语言?

Python 如何更改Django管理语言?,python,django,django-i18n,Python,Django,Django I18n,我有一个django 1.6站点,i18n正在运行。我可以使用模板顶部的选择框更改前端语言,但我不知道是否有django应用程序或技巧来更改管理语言,因为它似乎存储在会话变量中的某个位置,并且保留了我在前端使用的第一种语言 您可以使用以下方法创建/en/admin,/fr/admin/等等: (对于您的settings.py中的Django,只需将'Django.middleware.locale.localemidleware'添加到您的中间件类设置中,确保它出现在'Django.contri

我有一个django 1.6站点,i18n正在运行。我可以使用模板顶部的选择框更改前端语言,但我不知道是否有django应用程序或技巧来更改管理语言,因为它似乎存储在会话变量中的某个位置,并且保留了我在前端使用的第一种语言

您可以使用以下方法创建
/en/admin
/fr/admin/
等等:


(对于您的settings.py中的Django,只需将
'Django.middleware.locale.localemidleware'
添加到您的
中间件类
设置中,确保它出现在
'Django.contrib.sessions.middleware.SessionMiddleware'
之后l添加语言选择下拉列表的:

{%block userlinks%}
{{block.super}}
/{%csrf_令牌%}
{%get_当前语言为语言代码%}
{%get_可用语言为语言%}
{%get_language_info_list for LANGUAGES as LANGUAGES%}
{%用于语言中的语言%}
{{language.name_local}}({{language.code}})
{%endfor%}
{%endblock%}
为此,您还需要将以下内容添加到
urlpatterns

path('i18n/',include('django.conf.url.i18n'),

它正确地更改了我的应用程序语言。但它没有更改我提供的语言文件。我如何加载该语言?你能帮助我吗?@udi想知道,为什么它被否决了。这正是我所缺少的。回答很好,很简单,也很有效,但用户如何更改语言?取决于浏览器中设置的语言并不总是一个好的解决方案。添加.locale.LocaleMiddle软件是唯一必要的。然后,admin将使用用户浏览器设置中最首选的语言。当然,对于admin中的模型条目,您需要更多;对于此类条目,您需要在model.py中使用gettext_lazy()(或dj2.0之前的ugettext_lazy),然后创建.po文件(./manage.py makemessages-l de_de),用poedit翻译,编译.po文件(./manage.py compilemessages)如果你想看到语言和翻译结果的变化,这个解决方案非常有用。我需要在
SessionMiddleware
之后添加
django.middleware.locale.LocaleMiddleware
,我已经在上面添加了代码(本地创建的应用程序和放在
admin
之前的应用程序)
templates/admin/base\u site.html
代码段顶部缺少以下内容:
{%extends“admin/base.html”%}{%load i18n%}
urlpatterns += i18n_patterns(
    url(r'^admin/', include(admin.site.urls)),
)