可翻译平页

django-flatpages-i18n的Python项目详细描述


支持基本菜单的django.contrib.flatpages的可翻译版本。

要求

  • Django
  • Django_模型转换
  • Django_mptt

用django 1.8测试。

安装

  1. 使用pip:pip install django-flatpages-i18n

    安装python库
  2. mpttmodeltranslationflatpages_i18n添加到django设置文件中的INSTALLED_APPS

  3. flatpages_i18n.middleware.FlatpageFallbackMiddleware添加到django设置文件中的MIDDLEWARE_CLASSES

  4. 在django设置文件中指定所需的语言:

    from django.utils.translation import gettext
    
    LANGUAGE_CODE = 'en'
    LANGUAGES = (
        ('en', gettext('English')),
        ('de', gettext('German')),
    )
    
  5. 迁移数据库

  6. 运行sync_translation_fieldsupdate_translation_fields命令(来自modeltranslationapp)

  7. 如果要使用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'.

作者

图书馆由Pragmatic Mateserik telepovsky提供。见our other libraries

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在IntelliJ中导入Gradle项目?   java使用dropwizard在ContainerResponseFilter上注入HttpServletRequest HttpServletRequest   基于Java的简单规则引擎的回退实现   java无法在引号“”中获取字符串值(Android)   直接从java书籍中复制的用户界面代码不希望运行   java如何检查已安装的libevent版本?   javascript如何在CryptoJS中解密文件,由JAVA使用AES加密   如何为自制软件打包Java GUI应用程序   java IntelliJ,在调试模式下运行glassfish,未部署工件   swing重新打开以前关闭的窗口Java   带参数的java测试资源   此URL不支持java HTTP Status 405 HTTP方法GET,即使没有doget()方法   java Heroku应用程序使用s3上传图像   java使两个水平文本视图在一起小于某个宽度时保持左侧,但如果它们大于宽度,则省略左侧视图?   Thymeleaf中的java绑定列表;索引超出范围   java类型JspWriter中的print(boolean)方法不适用于参数   java安卓要么没有足够的内存用于后台任务,要么GC有问题   如何使用证书过期的旧java小程序?   java如何从事件中获取数据到主函数?