Django Fluent CMS的FAQ引擎
项目描述
django-fluent-faq
此Django应用程序为使用django-fluent CMS构建的站点添加了FAQ引擎。
功能
多语言
多站点
类别和问题
SEO字段(元关键词,描述)
使用应用程序
基于django-parler的多语言支持。
可选 集成django-fluent-pages
安装
首先安装模块,最好在虚拟环境中
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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a86c34e0f592b4f6508b39bba1e40d755446c3eb3bb0d2bcf59c3f3711887081 |
|
MD5 | a08fa9fc84c1591ba3dac35812475b6e |
|
BLAKE2b-256 | 5d4ded71130a1bf6adb2e099c48d430eca5e9149c95ec8c5a7870b06ef8e21a6 |
django_fluent_faq-1.0-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 00ac9f25686ca03fc3798657f4b71e14147a8bc532b629a6f3008d539440b6b1 |
|
MD5 | a197c8a5b4904bd2ee75640b6feeb303 |
|
BLAKE2b-256 | 5480782120d200ba0b2baa155d046587fbbf10da6b767b0fe88e3fa0a4fc56ea |