Django的微型CMS。有点像flatpages++。

django-micro-cms的Python项目详细描述


Django微型CMS

Django的微型CMS。有点像flatpages++。

它是一个成熟的CMS,具有在线编辑和媒体功能 管理层。它只允许您管理页面和 管理中的模板和翻译(并显示 当然是网站)。

安装

django-micro-cms除了django之外没有其他外部依赖项。它 对Django 1.6进行了测试。要安装django-micro-cms,只需

pip install django-micro-cms

还有两件事要做才能在页面上使用。

  1. microcms添加到已安装的应用程序:

    INSTALLED_APPS = (
        [...],
        'microcms',
    )
    
  2. 为页面添加URL配置:

    urlpatterns = patterns('',
        url(r'^page(?P<url>/.*)$', 'microcms.views.pages', name='pages'),
        url(r'^admin/', include(admin.site.urls)),
    )
    

    您可以为页面添加多个url配置,但所有页面 将在每个端点可用。

使用量

使用django-micro-cms非常简单:创建模板,创建 内容,请参阅页面上的内容。就这些。所有的编辑都是在 Django管理员。

模板

首先必须创建一个或多个Template对象。这些 当显示包含模板的页面时,将呈现模板。他们可以 {% extend %}来自django网页的页面,这是一个好主意 如果你有一个基本模板,但它们本身不能 extend-ed.

在模板中,可以使用多个变量插入 内容:

title
页标题作为安全字符串。
content
页内容作为安全字符串。
CONTENT_LANGUAGE_CODE
加载内容的语言代码。这可能不同于 page的语言代码,因为 页面取决于用户的首选项和页面url(见下文 有关语言加载的详细信息)。但是,的语言代码 内容取决于该语言中内容的可用性。如果 没有所请求语言的内容可用,回退 语言已被使用,语言代码将在此处显示。
created
页面创建的日期/时间。
last_modified
上次修改页面内容的日期/时间。

内容

第二步是为它们创建页面和内容。页面有一个 URLtitle。url是页面url的一部分 get被解析为url定义中的view参数。所以如果 您的url定义中有一个以/about/作为url的页面 此设置:

url(r'^page(?P<url>/.*)$', 'microcms.views.pages'),

那么该页面的完整url将是:

/page/about/

页面的title属性将在 模板作为变量title

对于每个页面,都可以添加内容。只有包含内容部分的页面 如图所示。如果页面没有回退语言的内容, 只有当请求的语言版本存在时才会显示。

每个语言版本的content属性被赋予 模板未转换。

在页面上

每个页面在其url下都可用(一旦至少有一个 定义的内容部分)。此外,它还可以在 带有语言代码的URL。

一个例子。

假设您已经连接了如上所述的pages视图,以便在 页面为^page(?P<url>/.*)$'。然后你创建的每个页面 可从您定义的URL获取。例如,如果您有 网址/about//imprint//about/contact/,将是 提供方式:

/page/about/
/page/imprint/
/page/about/contact/

如果用户在已定义内容的区域设置中请求页面,则 将提供正确的内容。如果您有本地语言环境的内容 ende例如,用户用德语请求页面, 将提供内容的de变体。如果你有变种 在eses-mx中,用户请求es-ar中的内容时, es变量将被提供。

为了提供特定语言,您可以预先编写语言代码 到你的url的页面部分。上述变体将是 可通过以下网址获得:

/page/en/about/
/page/de/about/
/page/es/about/
/page/es-mx/about/

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

推荐PyPI第三方库


热门话题
java在Android Studio中使用while循环显示包含textview对象的数据   创建名为“userController”的bean时发生java错误:通过字段“userService”表示未满足的依赖关系   java PDFBox PDFImageWrite。writeImage未正确处理所有字符   java无法识别代码中的nzec错误   无法更改java TabLayout字体   在Java中使用子字符串删除部分字符串   Java中的listener addPropertyChangeListener方法   java可以同时拖动多个对象   java如何将数组中的值添加到向量中   java为什么在Camel 3.7.3中无法正确计算属性?   与后端问题不同的机器中的java客户端资源   带字符串的java分割字节数组?   java On_选项_项目_选择的方法说明   java如何在画布的父画中画一个圆?   连接超时和打开连接数的java Netty通道配置   java mysql中如何防止向数据库中插入重复数据   升级到macOS Big Sur后,java无法启动Neo4j控制台应用程序   在Java中使用XSLT将XML转换为HTMLString的ajax   java无法使用Apache POI获取Excel工作表中的数据