python - GAE : use static HTML file vs database to serve contents

标签 python google-app-engine app-engine-ndb

我的新站点(阅读书籍)实际上使用静态内容来提供页面:我将 HTML 文件保存在一个文件夹中,为了提供页面,我读取它并将内容传递给 jinja2 模板,以显示全部一起。除了获取图书 ID 以了解书名外,没有数据库命中。

这工作得很好而且很快,但很明显我必须使用 GAE SDK 的“部署”选项“上传”每本新书(根据我的阅读,无法访问文件系统来自外部的 GAE,例如使用 FTP),这不是最佳方式。

所以我正在考虑将 HTML 内容保存到数据库但是:这会增加数据库的命中率吗?我正在使用 NDB,所以理论上,每个阅读一本书的用户都会从 NDB 缓存中获取缓存结果,一旦它被第一次读取。这样对吗?

将html传递给数据库会更好吗?就大小而言,每个html页面将超过8k。这些页面也有图像文件,所以,为了避免每本新书上传它的最初问题,我必须再次将图像保存在数据库中,对吧?

一本书的示例页面将是 like this

最佳答案

Google 应用引擎有专门的文件上传服务,称为 Blobstore。

您可以编写一个管理页面,让您上传文件并发布它们。您将只需要使用数据库来存储有关每个对象的元数据:书名、作者、相关图像...

Here's some documentation

关于python - GAE : use static HTML file vs database to serve contents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16895475/

相关文章:

google-app-engine - BadRequestError : app s~myapphr cannot access app dev~myapphr's data. 为什么?

python - python中的sql查询——调试附加值

python - 将 array.array 的内容放入堆中

python - 谷歌应用引擎 : How to read text file using python?

google-app-engine - 无法将 SSL 证书分配给 Google App Engine 应用

python - 如何创建一个新的模型实体,然后立即读取它?

python - %exception 被 SWIG(python) 包装器忽略了吗?

python - 如何取消订阅已创建的想法 Checkout Session Stripe API

google-app-engine - endpoints.ServiceException 子类返回 400 状态代码而不是 409

python-2.7 - 使用数组执行 NDB IN 查询