gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 22:24:10 25 4
gpt4 key购买 nike

我有一些带有空 content 字段的平面页面及其在模板中的内容(由 template_name 字段给出)。

为什么我使用 django.contrib.flatpages

  • 它允许我使用最少的 URL 配置来提供(大部分)静态页面。
  • 我不必为他们每个人写 View 。

为什么我不需要模型 FlatPage

  • 我将内容留空,只提供模板路径。因此我可以利用文件中的源代码;
    • 我可以直接从文件系统编辑源代码,无需服务器(例如管理员)的帮助。
    • 我可以利用语法突出显示和其他编辑器功能。
  • 有了这个模型,我必须维护 flatpages 的固定装置。
    • 因此同一实体的数据位于两个不同的位置。
    • 如果我移动夹具内的内容,将更难编辑。
      • 即使夹具维护不是问题,我仍然需要在开发过程中一次又一次地转储和加载这些夹具。

我在找什么

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

如果我不喜欢手动编辑平面页面的管理功能,那么如何将数据库排除在外呢?

最佳答案

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

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

然后将模板导入您的foo_index.html:

{% include template_name %}

关于python - 没有模型的 Django.contrib.flatpages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/346840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com