python – 使用i18n_patterns时的默认语言[复制]
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 使用i18n_patterns时的默认语言[复制],小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1603字,纯文字阅读大概需要3分钟。
内容图文
![python – 使用i18n_patterns时的默认语言[复制]](/upload/InfoBanner/zyjiaocheng/723/26710d8d93c34aa7bc999d95f3b30360.jpg)
参见英文答案 > django i18n_patterns hide default lang_code from url 5个
我正在使用i18n_patterns更改语言前缀:/ fr / / de /等.它工作得很漂亮.
它是在没有语言代码的情况下尝试访问页面时添加/ en /的唯一问题.
我想知道如何将英语作为默认语言,而不是/ en / with英文版的每个URL.
谢谢.
解决方法:
有一个名为django-solid-i18n-urls的软件包可以做你想要的.
有一点需要提及:它根本不使用重定向.因此,如果用户将访问网站并且他的首选语言不是en(默认设置在settings.LANGUAGE_CODE中),但是例如fe,他将不会被重定向到/ fe /,他必须手动执行.
如果您仍想使用重定向,则可以修改代码,幸运的是它并不多.
在这里你可以如何安装它(更详细的安装顺序在readme):
1)pip install solid_i18n
2)在settings.py中指定根URL的语言:LANGUAGE_CODE =’en’
3)将SolidLocaleMiddleware而不是LocaleMiddleware添加到MIDDLEWARE_CLASSES:
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'solid_i18n.middleware.SolidLocaleMiddleware',
'django.middleware.common.CommonMiddleware',
)
4)使用solid_i18n_patterns而不是i18n_patterns
from django.conf.urls import patterns, include, url
from solid_i18n.urls import solid_i18n_patterns
# urls without language, this can be skipped
urlpatterns = patterns(''
# ...
)
# urls, that must have default language at root url and prefixes for other languages
urlpatterns += solid_i18n_patterns('',
url(r'^about/$', 'about.view', name='about'),
# ...
)
这个blog正在使用提到的包运行,其中根URL(没有前缀)呈现俄语.
Article,为什么不使用重定向.
更新
提到的包现在有SOLID_I18N_USE_REDIRECTS选项.如果为True,则将发现首选语言,并且将发生重定向到非默认语言URL(如果发现的语言等于默认值),将显示不带前缀的url.
内容总结
以上是互联网集市为您收集整理的python – 使用i18n_patterns时的默认语言[复制]全部内容,希望文章能够帮你解决python – 使用i18n_patterns时的默认语言[复制]所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。