草庐IT

engineering

全部标签

python - 如何在 Google App Engine (Python) 中处理删除

我是一名新手程序员,刚接触GoogleAppEngine和webapp2等。所以这可能是一个非常基本的问题。我正在创建一个将图像存储到BlobStore中的应用程序。我的模型存储描述、blob_key、图像url和日期。我可以保存所有内容,所以那一点没问题。但现在我想创建一个删除按钮,它不仅会从数据存储中删除一个项目,还会删除保存在blobstore中的图像。我创建了一个DeleteHandler,在html中我有一个表单,传递了我要删除的项目的键。在DeleteHandler中,我使用发布的key从数据存储中删除项目。我也在尝试使用key来删除保存在blobstore中的图像。到目前

python - Google App Engine - 用于缓存控制的 headers[] 和 headers.add_header()

设置缓存控制的正确方法是什么?有时我看到headers[]的使用self.response.headers["Pragma"]="no-cache"self.response.headers["Cache-Control"]="no-cache,no-store,must-revalidate,pre-check=0,post-check=0"self.response.headers["Expires"]="Thu,01Dec199416:00:00"其他时候,我看到headers.add_header()self.response.headers.add_header("Pragm

python - App Engine memcache/ndb.get_multi 的性能问题

在AppEngine(Python)中使用ndb.get_multi()从Memcache获取多个键时,我发现性能非常差。我正在获取约500个小对象,所有这些对象都在内存缓存中。如果我使用ndb.get_multi(keys)执行此操作,则需要1500毫秒或更多时间。以下是AppStats的典型输出:和如您所见,所有数据均由内存缓存提供。大多数时间被报告为在RPC调用之外。但是,我的代码尽可能少,所以如果时间花在CPU上,它必须在ndb中的某个地方:#Getsetofkeysforitems.Thisrunsveryquickly.item_keys=memcache.get(item

python - 在 Google App Engine 中生成唯一且不透明的用户 ID

我正在开发一个允许注册用户创建或上传内容的应用程序,并允许匿名用户查看该内容并浏览注册用户的页面以查找该内容-这与Flickr这样的网站非常相似,因为例如,允许人们浏览其用户的页面。为此,我需要一种方法来识别匿名HTTPGET请求中的用户。用户应该能够输入http://myapplication.com/browse//并到达正确的页面-应该是唯一的,但出于隐私原因,不能类似于用户的电子邮件地址。通过GoogleAppEngine,我可以获得与用户相关联的电子邮件地址,但正如我所说,我不想使用它。我可以让我的应用程序的用户在注册时选择一个唯一的用户名,但我希望尽可能将其设为可选,以便注

python - Google App Engine 上的 web.py

我正在尝试让web.py应用程序在GAE上运行。我希望像下面这样的东西可能有用importwebfromgoogle.appengine.ext.webapp.utilimportrun_wsgi_app[...]defmain():app=web.application(urls,globals())run_wsgi_app(app)但显然app对象不符合run_wsgi_app函数的期望。错误消息说app没有__call__函数,所以我尝试传递app.run,但这也没有用。如何调用run_wsgi_app? 最佳答案 这是Sta

python - Google的App Engine SDK和Cloud SDK有什么关系?

我正在开发GoogleAppEngine应用程序,我遇到了对AppEngineSDK的引用和一个CloudSDK.这两个SDK如何相互关联?两者之间肯定有一些重叠。有一个dev_appserver.py和appcfg.py都是它们。我可以使用dev_appserver.py运行开发服务器,也可以使用gcloudpreviewapprun。为什么有两种工具做同样的事情?是否有一个被弃用以支持另一个?是否有合并工具集的路线图,或者它们是否会并行维护?我需要两者,还是只需要一个?CloudSDK似乎是两者中更通用的一个。但它是超集吗?IE。我可以使用CloudSDK在AppEngineSDK

python - 如何使用 App Engine SDK 提供云存储文件

在AppEngine中,我可以使用应用程序的默认存储桶提供pdf等云存储文件:http://storage.googleapis.com/.appspot.com/但是如何在不使用blob_key的情况下在SDK中提供本地云存储文件?我像这样写入默认存储桶:gcs_file_name='/%s/%s'%(app_identity.get_default_gcs_bucket_name(),file_name)withgcs.open(gcs_file_name,'w')asf:f.write(data)SDK中默认bucket的名称='app_default_bucket'在SDK数据

python - 有没有人成功地将 Google App Engine 与 Python 2.6 版一起使用?

由于Python2.6向后兼容2.52,有没有人成功地将它与GoogleAppEngine(正式支持2.52)一起使用。我知道我应该自己试试。但我是一个python和web-apps新手,对我来说安装和配置是最难的部分,同时开始这个领域的新事物。(....同时我自己也在尝试....)谢谢 最佳答案 如果您尝试启动开发环境,我想日志记录模块会崩溃。参见theissueandaworkaround.做完那个改变后,我的代码在2.6中运行没有任何问题。不过,我建议使用2.5.x,这样您的代码中就不会引入其他不兼容问题,这会使您的应用程序在

python - 如何修改 Google App Engine (Python) 中的 sys.path?

我已尝试将以下行添加到我的处理程序脚本(main.py),但它似乎不起作用:sys.path.append('subdir')subdir位于我的根目录中(即包含app.yaml的目录)。这似乎不起作用,因为当我尝试导入位于subdir中的模块时,我的应用程序崩溃了。 最佳答案 1)确保在subdir中有一个空白的__init__.py文件。2)使用完整路径;像这样:importosimportsyssys.path.append(os.path.join(os.path.dirname(__file__),'subdir'))编辑

python - Heroku : "Please supply the ENGINE value" 中的 Django 错误

我阅读并应用了“Heroku上的Django入门”教程,但在同步数据库时遇到了问题:raiseImproperlyConfigured("settings.DATABASESisimproperlyconfigured."django.core.exceptions.ImproperlyConfigured:settings.DATABASESisimproperlyconfigured.PleasesupplytheENGINEvalue.我读了PleasesupplytheENGINEvalueDjangodatabaseconfiguration和“settings.DATABA