【发布时间】:2013-02-20 16:11:48
【问题描述】:
我正计划构建一个 Django 应用程序来生成和以后的服务器静态页面(可能存储在 S3 上)。当用户访问像 mysite.com/static-pages/12345 这样的 url 时,应该提供我的 S3 存储桶中名为 12345.html 的静态文件。例如,该静态文件可能是我的网站为用户生成的博客页面的静态 html 页面。
这与在呈现为 Django 模板的页面上包含 CSS/Javascript 文件等静态资源不同,因为我已经知道如何使用 Django 模板和 SQL 数据库 - 我不熟悉的是我的“数据”现在是 S3 上的一个文件,而不是数据库中的一个条目,而且我实际上不需要使用模板。
我如何准确地检索请求的数据(即静态页面)并将其返回给用户?我想在合理的范围内最大限度地减少性能损失,当然如果用户直接从 S3 请求他们的静态页面(我不希望他们这样做)”。
还有几个问题: 我在其他地方读到了一个 django flatpages 应用程序,它将 html 页面存储在数据库中,但似乎静态 html 页面最好存储在像 S3 这样的文件系统上,不是吗? 有没有办法让请求进入我的 Django 应用程序并让 S3 直接提供文件,同时让它看起来来自我的应用程序(即浏览器 url 仍然显示 mysite.com/static-pages/12345,但是页面没有通过我的 Django 服务器)?
非常感谢!
【问题讨论】: