werkzeug相关内容
我在Controlers.py文件中定义了一个类来接收HTTP请求。远程服务器发送POST请求,请求正文中的数据是JSON字符串。 我可以通过http.request.jsonrequest方法将JSON字符串直接转换成字典来获取请求体中的数据,但目前我需要直接获取请求体中的原始JSON字符串,而不是字典中的原始JSON字符串来验证签名。 无法使用直接转换为JSON字符串的方法(jso
..
我有一个烧瓶应用程序,它在 before_filter 中设置数据库连接,非常类似于 这个: @app.before_requestdef before_request():g.db = connect_db() 现在:我正在编写一些单元测试,但我确实不希望它们进入数据库.我想用可以设置期望的模拟对象替换 g.db. 我的测试使用 app.test_client(),正如烧瓶文档 这里.
..
我知道在 php 中,我可以只使用 $_GET['key1']['key2'] 来检索以数组形式发送的 GET 数据,但在 Python 中可以这样做吗因为我刚收到一个字符串,它不被识别为数组/列表. 如果重要的话,我会使用flask/werkzeug. 解决方案 参数名称的深度解析是 PHP AFAIK 独有的. 如果您只需要一个简单的列表,只需传递几个具有相同名称的参数并使
..
我使用的是使用 Python 的 Flask(基于 Werkzeug). 用户可以下载文件,我使用的是send_from_directory-function. 但是在实际下载文件时,没有设置 HTTP 标头 content-length.所以用户不知道下载的文件有多大. 我可以在 Python 中使用 os.path.getsize(FILE_LOCATION) 来获取文件大小
..
所以我有一个可以通过多个路由访问的方法: @app.route("/canonical/path/")@app.route("/alternate/path/")定义 foo():回复“嗨!" 现在,我如何调用 url_for("foo") 并知道我会得到第一条路由? 解决方案 好的.我花了一些时间研究 werkzeug.routing 和 flask.helpers.url_for
..
我目前正在根据 http://flask.pocoo.org/docs 的建议测试我的应用/testing/,但我想向发布请求添加标头. 我的请求目前是: self.app.post('/v0/scenes/test/foo', data=dict(image=(StringIO('fake image'), 'image.png'))) 但我想在请求中添加一个 content-md5.
..
我有一个 DAV 协议,可以在 url 锚点中存储带外数据,例如DELETE/abc.def#ghi 中的 ghi.服务器是一个 Flask 应用程序. 我可以看到请求通过 tcpdump 传入网络,但是当我查看 werkzeug 请求对象(例如 url() 或 base_url())时,我得到的只是 /abc.def.#ghi 已被删除. 是否有返回此信息的方法,或者我是否必须对 R
..
我有一个 jQuery Ajax 调用,如下所示: $("#tags").keyup(function(event) {$.ajax({url: "/terms",类型:“POST",内容类型:“应用程序/json",数据:JSON.stringify({"prefix": $("#tags").val() }),数据类型:“json",成功:函数(响应){ display_terms(响应.
..
我对如何做一些我认为很简单的事情感到有些困惑.我有一个使用 Flask 编写的简单应用程序.它看起来像这样: from flask import Flaskapp = Flask(__name__)def _run_on_start(a_string):打印“用 %s 做一些重要的事情" % a_string@app.route('/')定义根():返回“你好世界"如果 __name__ ==
..
我在 mod_wsgi/Apache 上设置了一个 Flask 应用程序,需要记录用户的 IP 地址.request.remote_addr 返回“127.0.0.1",此修复尝试纠正但我发现 Django 出于安全原因删除了类似的代码. 是否有更好的方法来安全地获取用户的真实 IP 地址? 编辑:也许我遗漏了一些明显的东西.我应用了 werkzeug's/Flask's fix 但似
..
我想定义一个包含三个变量组件的 url 规则,例如: @app.route('////') 但我发现开发服务器在尝试匹配静态文件之前会评估这些规则.所以像: /static/images/img.jpg 将被我的 url 规则捕获,而不是被转发到内置的静态文件处理程序.有没有办法强制开发服务器先匹配静态文件? 附言只有当规则有两个以上的变量组件时,这才是一个问题. 解决方案
..
当我在 Windows 上运行 flask run 时,出现以下错误 C:\Python37\python.exe:没有名为 C:\Python37\Scripts\flask 的模块 这以前有效,问题是在我最近创建新环境后开始的. 解决方案 这是一个错误 在 Werkzeug 0.15.5 中引入.至少升级到 Werkzeug 0.15.6,其中包含修复程序.您也可以使用 pytho
..
我希望将我的顶级域作为对应于我网站不同部分的各种子域的门户.example.com 应该路由到 welcome.html 模板.eggs.example.com 应该路由到站点的“eggs"子部分或应用程序.我将如何在 Flask 中实现这一目标? 解决方案 @app.route() 使用 subdomain 参数来指定路由匹配的子域.Blueprint 也需要一个 subdomain 参
..
我正在使用 url_for 在用户注销时生成重定向 URL: return redirect(url_for('.index', _external=True)) 但是,当我将页面更改为 https 连接时,url_for 仍然给我 http. 我想明确要求 url_for 在 URL 的开头添加 https. 你能告诉我如何改变它吗?我查看了 Flask 文档,但运气不佳.
..
之前,我问了如何获取 Flask 请求中收到的数据,因为 request.data 为空.答案解释了 request.data 是原始帖子正文,但如果解析表单数据,它将为空.如何无条件获取原始帖子正文? @app.route('/', methods=['POST'])定义解析请求():data = request.data # 某些情况下为空# 这里总是需要原始数据,而不是解析的表单数据 解
..
我有一个简单的 Flask 路由,我想捕获文件的路径.如果我在规则中使用 ,它适用于 /get_dir/one 但不适用于 /get_dir/one/two.如何捕获任意路径,以便将 path='/one/two/etc 传递给视图函数? @app.route('/get_dir/')def get_dir(路径):返回路径 解决方案 使用 path 转换器捕获任意长度的路径: 将捕获一个p
..
我正在制作一个网站,用户可以使用 Flask 微框架登录并下载文件(基于 Werkzeug),它使用 Python(在我的情况下为 2.6). 我需要在用户登录时获取其 IP 地址(用于登录目的).有谁知道如何做到这一点?肯定有办法用 Python 做到这一点吗? 解决方案 查看如何访问Request 对象 然后从这个相同的Request 对象中获取属性remote_addr.
..
我遇到了与 this SO question and answer 中描述的完全相同的问题.这个问题的答案是一个很好的解决方法,但我不理解根本问题.在负载均衡器上终止 SSL 并在负载均衡器和 Web/应用服务器之间使用 HTTP 是很常见的.堆栈的哪一部分不尊重 X-Forwarded-Proto?是werkzeug吗?烧瓶?uwsgi? 就我而言,我使用的是 AWS ELB(设置 X-F
..
我们正在并行开发 Python 网络服务和客户端网站.当我们从客户端向服务发出 HTTP 请求时,一次调用始终在 socket.py 中引发 socket.error,在读取中: (104, '连接重置') 当我用wireshark收听时,“好"和“坏"的反应看起来非常相似: 由于 OAuth 标头的大小,请求被拆分为两个数据包.服务以 ACK 响应两者 服务发送响应,每个标头一个数据
..
我不确定这是否是 Flask 特有的,但是当我在开发模式 (http://localhost:5000) 下运行应用程序时,我无法从网络上的其他机器访问它(使用 http://[dev-host-ip]:5000).例如,当 Rails 处于开发模式时,它运行良好.我找不到任何关于 Flask 开发服务器配置的文档.知道应该配置什么来启用它吗? 解决方案 虽然这是可能的,但您不应在生产中使
..