用于提供静态 HTML 文件的 Django 设计模式

Posted

技术标签:

【中文标题】用于提供静态 HTML 文件的 Django 设计模式【英文标题】:Django Design pattern for serving static HTML files 【发布时间】:2015-03-09 18:59:57 【问题描述】:

在我的 Django 网站中,我有很多静态 html 文件,其内容不应根据请求等呈现(静态 HTML 文件)

我想知道该类型文件的最佳设计模式是什么。

我应该为每个文件创建一个视图吗?比如下面这样:

url(r'^howitworks/$', 'how_it_works', name="how_it_works"),

with def how_it_works(request):
    return render_to_response("marketing/howitworks.html", locals(), context_instance=RequestContext(request))

或者将 html 文件放在我的 STATIC_ROOT 内的文件夹中并使用 STATIC_URL 前缀直接从那里提供服务被认为是更好的样式?

有什么好处和坏处?

非常感谢

【问题讨论】:

【参考方案1】:

您不需要提供来自STATIC_ROOT/STATIC_URL 的静态文件。您可以从任何目录为它们提供服务。是的,直接通过网络服务器提供此类文件是最好的选择。

【讨论】:

以上是关于用于提供静态 HTML 文件的 Django 设计模式的主要内容,如果未能解决你的问题,请参考以下文章

在 Django 中“有条件地”提供静态文件

用于收集静态的 Django 1.11 + Amazon S3

Django 在 '/' url 处提供静态 index.html 和视图

django:通过nginx提供静态文件

Django 获取静态媒体文件

07-Django模板