python – 没有模型的Django.contrib.flatpages

我有一些带有空内容字段的flatpages及其在模板中的内容(使用template_name字段给出).

为什么我使用django.contrib.flatpages

>它允许我(大多数)提供最少URL配置的静态页面.
>我不必为每个人写出观点.

为什么我不需要模型FlatPage

>我将内容留空,只提供模板路径.因此,我可以利用文件中的源;

>我可以直接从文件系统编辑源代码,无需服务器(如admin)的帮助.
>我可以利用语法突出显示和其他编辑器功能.

>使用该模型,我必须维护平板固定装置.

>因此,同一实体的数据位于两个单独的位置.
>如果我在夹具内移动内容,则编辑起来会更加困难.

>即使夹具维护不成问题,我仍然需要在开发期间一次又一次地转储和装载这些夹具.

我在找什么

基本上;在保持contrib.flatpages功能的同时摆脱FlatPage模型.我不清楚如何解决这个问题.如果有一种干净的修改方式(比如add_to_class)FlatPages来获取除数据库以外的其他地方的信息,我更喜欢这样.也许元数据可以插入到模板中,然后读取此数据的特殊管理器将替换FlatPages的默认管理器.

如果我不喜欢对flatpages的管理功能进行手动编辑,那么如何将数据库排除在外?

解决方法

使用
direct_to_template通用视图会更简单.如果您不想为每个页面添加条目,可以在一个视图上使用传入的参数来指定urls.py中的实际模板:

r'^foo/(?P<template_name>.+)/$','direct_to_template',{'template': 'foo_index.html'}),

然后在foo_index.html中导入模板:

{% include template_name %}

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章