【问题标题】:Django Direct_to_template or flatpagesDjango Direct_to_template 或平面页面
【发布时间】:2010-08-17 17:05:57
【问题描述】:

构建一个 django 应用程序,在网站前面有一些主要是静态页面,例如about.html 常见问题.html

那种东西

我正在研究 urls.py 的工作原理并创建了它。

('(.+\.html)$', direct_to_template),

它似乎完全符合我的需要。现在,对于我添加到模板文件夹根目录的任何新 .html 页面,它都可以正常工作。模板/about.html 模板/faq.hml

我也可以在我的模板中使用类似的东西

{% include "_menu.html" %}

现在有人好心地指出了 Django FlatPages,并建议我可以改用它们。如果我没有连接到数据库,我这样做的方式是否有任何缺点。

在我看来,它是比 FlatPages 更好的方法,因为它使用 db 并且不是很优雅(但实际上并没有在实践中使用 flatpages)

【问题讨论】:

    标签: django static-content django-flatpages


    【解决方案1】:

    如果您可以直接编辑模板文件并手动将新模板文件添加到您的 urls.py 文件中,那么请坚持使用现有的内容。如果您希望能够从管理界面或任何您可能关心设计的基于 Web 的编辑工具编辑页面内容,或者更重要的是:如果您希望非技术用户能够编辑页面内容,Flatpages 很有用内容。

    【讨论】:

    • 我认为你没有抓住重点。使用这个解决方案,我根本不需要编辑 urls.py 文件。如果我想要一个新文件,比如 example.com/terms.html,我所要做的就是创建新的 html 文件并将其保存到我的模板文件夹中......完成。不过,我确实了解 CMS 部分。
    • 抱歉,我读得太快了。听起来你的方式很好;过度设计某些东西是没有意义的。
    【解决方案2】:

    我建议更进一步。如果您的静态内容不经常更改并且不使用 Django 的模板,那么不要使用 Django 来为它们提供服务。请改用 Nginx 等轻量级服务器。

    如果您确实使用 Django 的模板功能而不需要数据库中的任何动态内容,那么您可以坚持使用direct_to_template

    【讨论】:

    【解决方案3】:

    使用 FlatPages 的一个优点是,您可以使用 Django 模板来制作页眉、侧边栏、页脚(以保持一致的网站外观),同时仍然主要使用纯 HTML 作为页面内容。这被将页面内容存储在数据库表中的需要所抵消。

    我的建议?如果您正在做的是满足您的需求,请坚持有效的方法。

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 2010-12-10
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      • 2011-07-08
      相关资源
      最近更新 更多