可翻译平页
django-flatpages-i18n的Python项目详细描述
支持基本菜单的django.contrib.flatpages的可翻译版本。
要求
- Django
- Django_模型转换
- Django_mptt
用django 1.8测试。
安装
使用pip:pip install django-flatpages-i18n
安装python库将mptt、modeltranslation和flatpages_i18n添加到django设置文件中的INSTALLED_APPS。
将flatpages_i18n.middleware.FlatpageFallbackMiddleware添加到django设置文件中的MIDDLEWARE_CLASSES。
在django设置文件中指定所需的语言:
from django.utils.translation import gettext LANGUAGE_CODE = 'en' LANGUAGES = ( ('en', gettext('English')), ('de', gettext('German')), )
迁移数据库
运行sync_translation_fields和update_translation_fields命令(来自modeltranslationapp)
如果要使用redactor所见即所得编辑器(请参见下面的设置),则需要将'flatpages_i18n.urls'添加到您的url.py:
if 'flatpages_i18n' in settings.INSTALLED_APPS: urlpatterns += i18n_patterns( url(r'^', include('flatpages_i18n.urls')), )
用法
要获取所有平面页面:
在HTML模板中:
{% load i18n flatpages_i18n %} {% get_available_languages as LANGUAGES %} {% get_flatpages_i18n as flatpages_i18n %} <ul> {% for flatpage in flatpages_i18n %} <li><a href="/{{ LANGUAGE_CODE }}{{ flatpage.url }}">{{ flatpage.title }}</a></li> {% endfor %} </ul>
按主键获取flatpage:
{% get_flatpage_i18n 123 as my_flatpage %} {{ my_flatpage.content }}
或按其机器名:
{% get_flatpage_i18n 'my-flatpage' as my_flatpage %}
设置
- 平面页面编辑器
- 如果要使用Redactor作为所见即所得编辑器,请将其设置为'REDACTOR'。默认值:None.
- 平面页面
- redactor.js文件的路径。默认值:'js/redactor/redactor.js'.
- 平面页面
- redactor.css文件的路径。默认值:'css/redactor/redactor.css'.