跳转到主要内容

Django Fluent CMS的FAQ引擎

项目描述

django-fluent-faq

此Django应用程序为使用django-fluent CMS构建的站点添加了FAQ引擎。

功能

  • 多语言

  • 多站点

  • 类别和问题

  • SEO字段(元关键词,描述)

使用应用程序

安装

首先安装模块,最好在虚拟环境中

git clone https://github.com/edoburu/django-fluent-faq.git
cd django-fluent-faq
pip install .

# Install the plugins of fluent-contents that you use:
pip install django-fluent-contents[text]

# Optional: to add tagging support + autocomplete use:
pip install django-taggit django-taggit-autocomplete-modified

配置

将应用程序添加到settings.py

INSTALLED_APPS += (
    # FAQ engine
    'fluent_faq',

    # The content plugins
    'fluent_contents',
    'fluent_contents.plugins.text',

    # Support libs
    'categories',
    'categories.editor',
    'django_wysiwyg',

    # Optional tagging
    'taggit',
    'taggit_autocomplete_modified',
)

DJANGO_WYSIWYG_FLAVOR = "yui_advanced"

请注意,并非所有应用程序都是必需的;标签是可选的,各种fluent_contents.plugin.*包也是如此。

urls.py中包含应用程序

urlpatterns += patterns('',
    url(r'^admin/util/taggit_autocomplete_modified/', include('taggit_autocomplete_modified.urls')),
    url(r'^faq/', include('fluent_faq.urls')),
)

之后可以创建数据库

./manage.py syncdb

如果使用了额外的 django-fluent-contents 插件,请同时遵循它们的 安装说明。通常这包括:

  • 将包名添加到 INSTALLED_APPS 中。

  • 运行 pip install django-fluent-contents[pluginname]

  • 运行 ./manage.py syncdb

配置允许的插件

要限制在 FAQ 答案中使用 django-fluent-contents 的插件,请使用

FLUENT_CONTENTS_PLACEHOLDER_CONFIG = {
    'faq_answer': {
        'plugins': (
            'TextPlugin', 'PicturePlugin', 'OEmbedPlugin', 'SharedContentPlugin', 'RawHtmlPlugin',
        ),
    },
}

配置模板

为了显示博客内容,需要创建一个 fluent_faq/base.html 文件。这将用于将模块的输出映射到您的网站模板。

基本模板需要包含以下块

  • content - 显示主要内容

  • sidebar_content - 显示侧边栏内容

  • title - 要插入到 <title> 标签中的标题片段。

  • meta-title - <title> 标签的完整内容。

  • meta-description - meta-description 标签的值。

  • meta-keywords - meta-keywords 标签的值。

  • og-type - Facebook 的 OpenGraph 类型(可选)

  • og-description - Facebook 的 OpenGraph 描述(可选)

fluent_faq/base.html 模板可以简单地重命名块名称到网站的 base.html 模板。例如

{% extends "base.html" %}

{% block headtitle %}{% block title %}{% endblock %}{% endblock %}

{% block main %}
    {# This area is filled with the question details:
    {% block content %}{% endblock %}

    {# Add any common layout, e.g. a sidebar here #}
    {% block sidebar_content %}{% endblock %}
{% endblock %}

当所有其他块名称在网站的 base.html 模板中都已可用时,此示例应该足够。

将页面添加到网站地图

可选地,博客页面可以包含在网站地图中。在 urls.py 中添加以下内容

from fluent_faq.sitemaps import FaqQuestionSitemap, FaqCategorySitemap

sitemaps = {
    'faq_questions': FaqQuestionSitemap,
    'faq_categories': FaqCategorySitemap,
}

urlpatterns += patterns('',
    url(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
)

与 django-fluent-pages 集成

要与 django-fluent-pages 的页面类型集成,不要在 URLconf 中包含 fluent_blogs.urls

urlpatterns += patterns('',
    url(r'^admin/util/taggit_autocomplete_modified/', include('taggit_autocomplete_modified.urls')),
)

相反,添加一个页面类型

INSTALLED_APPS += (
    'fluent_pages',
    'fluent_faq.pagetypes.faqpage',
)

现在可以在 django-fluent-pages 的页面树中创建一个“FAQ 模块”页面,位于所需的 URL 路径。

贡献

此模块旨在通用,易于集成到您的网站。如果您对它有任何不满意之处,或者认为它不够灵活,请告诉我们。我们愿意改进它!

如果您有任何其他有价值的贡献、建议或想法,也请告诉我们,因为我们将考虑它。我们也欢迎拉取请求。:-)

项目详情


下载文件

下载适合您平台的项目文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

django-fluent-faq-1.0.tar.gz (29.3 kB 查看哈希)

上传时间 源代码

构建分发

django_fluent_faq-1.0-py2.py3-none-any.whl (41.0 kB 查看哈希值)

上传时间 Python 2 Python 3

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页