我计划构建一个 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 服务器)?
非常感谢!