问题标签 [webapp2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在webapp2下对多个同名复选框的发布请求进行单元测试
使用 webapp2 我为一个表单创建单元测试,其中有投票复选框,因此可以为该vote
字段发布多个值,并通过以下方式检索它们request.POST.getall('vote')
:
在单元测试中,我尝试传递一个列表:
但看起来它只是简单地转换为字符串:
我怎样才能传递多个值vote
,将通过它作为列表检索request.POST.getall()
?
unit-testing - 如何在单元测试中使用 webapp2 获取 uri_for?
我正在尝试使用 webapp2 对处理程序进行单元测试,并且遇到了一个愚蠢的小错误。
我希望能够在测试中使用 webapp2.uri_for,但我似乎不能这样做:
如果我只是这样做main.app.get_response('/')
,它就可以了。
收到的异常是:
我缺少一些愚蠢的设置吗?
python - 在 App Engine 中从一个 RequestHandler 发布到另一个
目标:使用应用程序引擎的基本 webapp 框架我想创建一个带有发布数据的新请求,以发送到另一个 RequestHandler。像pageGenerator.post({'message':'the message','datum1':datum1,...})
...
问题描述:一个请求处理程序,调用它pageGenerator
,创建一个带有表单的页面。当用户提交表单时,帖子会转到不同的处理程序:dataProcessor
. 如果dataProcessor
发现提交的数据有问题,它会将提交的数据和错误消息发送到“pageGenerator”的 post 方法,并且 pageGenerator 将提供带有错误消息的页面。
如何像这样来回传递数据(和控制)?我希望pageGenerator
能够使用self.request.get('message')
.
python - 谷歌应用引擎的python web框架
(请注意,这个问题和一些答案是旧的)
我想使用现有的 python 框架在 google appengine 上开发应用程序。
它应该以简单的方式快速轻松地启动和支持测试驱动的开发实践。
你能推荐一个堆栈吗?django 呢?
附加信息:
有几个 django 端口,但是 stackoverflow 问题已经很老了。django/appengine 解决方案有好几种,不知道目前哪个领先。(这现在已经过时了,请参阅接受的答案以及其他答案)。
但其他框架也很有趣,不仅仅是 django。
听起来也不错但不是条件的是,可以在框架和 appengine 上运行应用程序,然后可能在该框架的自托管(noSql-)版本上运行它(可能是 django,或者其他一些东西) )。
python - 用于身份验证和登录的 Webapp2
我想为我的 python Google App Engine 应用程序推出我自己的登录系统(而不是使用 Google 的用户 api)。
我正在使用 webapp2,我注意到有一个webapp2_extras.auth模块和一个不完整的 auth tutorial。
有谁知道我如何使用这个 API 来创建:
- 用户注册(获取电子邮件和密码,并可能验证电子邮件)
- 用户使用电子邮件和密码登录
获得电子邮件和密码后,我将其存储在哪里?在 AuthStore 中?以及如何针对 AuthStore 进行身份验证?
google-app-engine - 具有 tornadoweb 风格 UIModule 的 webapp2 兼容模板系统
我在 GAE 上有一个应用程序,大多数应用程序都使用 tornadoweb 及其模板系统。对于其他处理程序(特别是 BlobstoreHandlers),我使用 webapps 内置处理程序,这使得与 GAE 特定接口交互变得容易。
我想将所有内容切换到 webapp2 并使用新的 python2.7 运行时。
我唯一想念的是tornadowebs UIModules之类的东西。我可以通过使用标签和过滤器在 jinja2 上走很长一段路,但我错过了诸如 UIModule.embedded_javascript()、UIModule.javascript_files()、UIModule.embedded_css() 和 UIModule.css_files() 之类的东西,它们嵌入或添加到这些文件的链接进入模板。
在另一个模板引擎中有这样的东西吗?
macos - 无法使用 webapp2/Google App Engine 加载 jinja2
我正在我的 Mac 上使用 GoogleAppEngineLauncher 浏览 GAE webapp2 教程(运行时 2.7),虽然我完全按照所有内容进行操作,但在我们导入 Jinja2 模块时仍然出现错误:Using Templates - Google App Engine
错误:
Traceback(最近一次调用最后一次):文件“/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py”,第 168 行,在句柄处理程序中= _config_handle.add_wsgi_middleware(self._LoadHandler()) 文件“/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py”,第 206 行,在 _LoadHandler 处理程序 = 导入(路径 [0])文件“/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py”,第 640 行,在装饰返回 func(self, *args, **kwargs) 文件 "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py”,第 1756 行,在 load_module 返回 self.FindAndLoadModule(submodule, fullname, search_path) 文件“/Applications/ GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",第 640 行,装饰返回 func(self, *args, **kwargs) 文件" /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py”,第 1628 行,在 FindAndLoadModule 描述中)文件“/Applications/GoogleAppEngineLauncher.app/内容/资源/GoogleAppEngine-default。bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py”,第 640 行,在装饰中返回 func(self, *args, **kwargs) 文件“/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine -default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py”,第 1571 行,在 LoadModuleRestricted 描述中)文件“/Users/ykessler/Dropbox/appgrinders/gae_apps/helloworld2.7/helloworld.py” ,第 9 行,在 import jinja2 ImportError: No module named jinja2bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py”,第 1571 行,在 LoadModuleRestricted 描述中)文件“/Users/ykessler/Dropbox/appgrinders/gae_apps/helloworld2.7/helloworld.py”,第 9 行, 在 import jinja2 ImportError: No module named jinja2bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py”,第 1571 行,在 LoadModuleRestricted 描述中)文件“/Users/ykessler/Dropbox/appgrinders/gae_apps/helloworld2.7/helloworld.py”,第 9 行, 在 import jinja2 ImportError: No module named jinja2
所以它出于某种原因找不到该模块,即使它应该被打包为 webapp2 的附加功能的一部分。当我在我的文件系统上进行搜索时,它看起来就在那里:
如果我将应用程序部署到 GAE,它就可以正常工作。为什么会在本地失败?
php - 在 apache/php 中复制的 webapp2 行为
在 webapp2 (python) 中,您可以将 url 映射到一个文件中的类。
我将如何在 php 和 apache 中设置这样的东西?
谢谢
编辑:
我所追求的是将文件夹名称重定向到该文件夹中的文件之后的所有内容。例如。
谢谢。
python - 了解 Python WSGI 应用程序中的全局对象持久性
考虑我在 Google App Engine 中的 WebApp2 应用程序中的以下代码:
每次刷新页面时,计数都会增加。
我来自 PHP 世界,每个请求都是一个新的全球环境。我理解这里发生的是,因为我使用 WebApp2 的 wsgi 配置,Python 不会在每个请求上启动一个新进程。另一方面,如果我使用的是 cgi 配置,那么全局环境每次都会重新实例化,就像 PHP ...
假设以上是正确的(如果不是,请纠正我)......
- 我如何处理我想要一个仅在请求的生命周期内持续存在的全局变量的情况?我可以在 RequestHandler 类中放置一个实例变量,但是我导入的实用程序模块之类的东西使用全局变量来存储消息对象之类的东西呢?
- 是否有某种技术可以重置所有变量,或强制重新实例化环境?
- 全球环境会无限期地持续下去,还是会在某个时候自我重置?
- 这个 GAE 中的任何一个是特定的,还是 wsgi 全局持久性在任何服务器场景中都一样?
编辑:
这是使用threadlocal的尝试:
这些也会随着请求而增加
python - 是否有任何可用的解决方案为 Google 应用引擎提供 xsrf/csrf 支持?
现在,跨站点请求伪造在网络上很常见。我在部署在 Google App 引擎上的自己的站点中面临这个问题。我通过检查访问日志了解了这一点。是否有任何 XSRF/CSRF 库或其他可用于我可以使用的 App 引擎的解决方案。而且,它会给我的网站增加多少负载?