
如何调试Flask应用
你打算如何调试Flask中的错误?打印到控制台?Flash信息到页面?还是有更强大的选项可用来找出出现问题时发生的情况?回答:你可以按如下所述app.run(debug=True)用于Werkzeug调试器 编辑,我应该知道。...
2024-01-10
运行Flask时的警告消息
当我从命令行运行Flask代码时,出现警告:Serving Flask app "hello_flask" (lazy loading)* Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead.这是什么意思?回答:如Flask文档中所述:Flask轻巧且易于使用,但由于扩展性不好,默认情况下一次...
2024-01-10
在Flask中进行异步任务
我正在Flask中编写一个应用程序,除了WSGI同步和阻塞之外,它的运行情况非常好。我特别有一项任务,该任务调出第三方API,该任务可能需要几分钟才能完成。我想拨打该电话(实际上是一系列电话)并使其运行。同时控制权返回给Flask。我的看法如下:@app.route('/render/<id>', methods=['POST'])def render_script(...
2024-01-10
在Flask中处理多个请求
我的Flask应用程序必须进行大量计算才能获取特定页面。在Flask执行该功能时,其他用户无法访问该网站,因为Flask忙于进行大量计算。有什么方法可以使我的Flask应用程序接受来自多个用户的请求?回答:是的,将应用程序部署在其他WSGI服务器上,请参阅Flask部署选项文档。Flask随附的服务器组件实...
2024-01-10
为所有Flask路线添加前缀
我有一个前缀要添加到每条路线。现在,我在每个定义处都向路线添加了一个常量。有没有一种方法可以自动执行此操作?PREFIX = "/abc/123"@app.route(PREFIX + "/")def index_page(): return "This is a website about burritos"@app.route(PREFIX + "/about")def about_page(): return "This is a website about burritos"回答:答案取决于你如...
2024-01-10
在Flask中重定向到URL
我是Python和Flask的新手,我正在尝试做与Response.redirectC#中相同的操作-即:重定向到特定的URL-我该如何处理?这是我的代码:import osfrom flask import Flaskapp = Flask(__name__)@app.route('/')def hello(): return 'Hello World!'if __name__ == '__main__': # Bind to PORT if defined, otherwise defaul...
2024-01-10
Flask返回响应后执行函数
Flask返回响应后,我需要执行一些代码。我认为为它设置像Celery这样的任务队列不够复杂。关键要求是Flask必须在运行此功能之前将响应返回给客户端。它不能等待函数执行。对此存在一些现有问题,但是在将响应发送到客户端之后,似乎没有一个答案能解决运行任务的问题,它们仍然同步执行,然后...
2024-01-10
用Flask解决跨源资源共享
对于以下ajax发布请求Flask(如何使用烧瓶中ajax发布的数据?):$.ajax({ url: "http://127.0.0.1:5000/foo", type: "POST", contentType: "application/json", data: JSON.stringify({'inputVar': 1}), success: function( data ) { alert( "success" + data ); } });我...
2024-01-10
获取Flask应用程序的根路径
我正在开发Flask扩展名,我想从该扩展名在文件系统上项目的根路径中创建目录。假设我们有这个目录结构/project /app /tests /my_folder manage.pymy_folder应该由扩展名动态创建,扩展名是一个测试实用程序,并将被测试的应用程序包装在/ tests目录中。但是,我正在努力确定扩展中项目的根路径...
2024-01-10
如何在Flask中设置响应头?
这是我的代码:@app.route('/hello', methods=["POST"])def hello(): resp = make_response() resp.headers['Access-Control-Allow-Origin'] = '*' return resp但是,当我从浏览器向服务器发出请求时,出现此错误:XMLHttpRequest cannot load http://localhost:5000/hello. No 'Access-Control-Allow...
2024-01-10
使用Flask下载多个CSV?
我有一个应用程序,该应用程序可以获取一些信息,使用pandas进行一些计算,然后将最终的熊猫数据框转换为CSV,然后使用Flask应用下载。如何在一个视图中下载多个CSV?看来我一次只能返回一个响应。示例片段:def serve_csv(dataframe,filename): buffer = StringIO.StringIO() dataframe.to_csv(buffer, encoding='utf-8', in...
2024-01-10
Flask中的“端点”是什么?
Flask文档显示:add_url_rule(*args, **kwargs) Connects a URL rule. Works exactly like the route() decorator. If a view_func is provided it will be registered with the endpoint. endpoint – the endpoint for the registered URL rule. Flask itself assum...
2024-01-10
在Flask中支持多个API版本
我开始使用Flask和Python设计一种RESTful Web服务,我想知道如何在同一项目中支持多个API版本。我正在考虑将请求的API版本放在这样的URL中:/myapp/v1/Users一段时间后,我想在API版本1.1中添加另一个端点,并保留v1中所有未更改的内容:/myapp/v1.1/Users <= Same as in v1/myapp/v1.1/Books在v2中,“用户”端点已更...
2024-01-10
如何通过Flask获取用户代理?
我试图通过Flask访问用户代理,但是我找不到有关它的文档,或者它没有告诉我。回答:from flask import requestrequest.headers.get('User-Agent')你还可以使用request.user_agent包含以下属性的对象,这些属性是基于useragent字符串创建的:platform (windows, linux, macos, etc.)browser (chrome, firefox, msie, etc.)versionlanguagestring (...
2024-01-10
使用Flask运行计划时出现问题
我需要在Flask应用程序上定期运行某些任务。我决定使用一个简单的库-Schedule(https://github.com/dbader/schedule)来执行此操作。我在与主应用程序线程不同的线程上运行任务计划程序。这是相关的代码片段。import scheduleimport timefrom flask import Flask, requestfrom threading import Threadapp = Flask(__name__)start_time = time...
2024-01-10
如何在Flask中生成动态网址?
我在数据库中有几条记录,它们想要形成如下URL:mysite.com/post/todays-post-will-be-about该todays-post-will-be-about会从数据库中拉出。有什么办法可以在flask中取出吗?回答:你可以将变量名放在views.py函数中。例如:# you can also use a particular data type such as int,str# @app.route('post/<int:id>', methods=['GET', 'POST'])...
2024-01-10
从Flask视图返回JSON响应
我有一个函数,可使用Pandas分析CSV文件并生成带有摘要信息的字典。我想从Flask视图返回结果作为响应。如何返回JSON响应?@app.route("/summary")def summary(): d = make_summary() # send it back as json回答:将摘要数据传递给该jsonify函数,该函数返回JSON响应。from flask import jsonify@app.route('/summary')def summary(): ...
2024-01-10
Flask应用程序启动后运行代码
我的目标是让我的Flask应用程序启动后运行任意代码。这是我所拥有的:def run(): from webapp import app app.run(debug=True, use_reloader=False)理想情况下,我将能够做到这一点:def run(): from webapp import app app.run(debug=True, use_reloader=False) some_code()但是代码不会继续过去app.run(),因此some_code(...
2024-01-10
在Flask服务器中禁用控制台消息
我有一个在独立模式下运行的Flask服务器(使用app.run())。但是,我不需要控制台中的任何消息,例如127.0.0.1 - - [15/Feb/2013 10:52:22] "GET /index.html HTTP/1.1" 200 -...如何禁用详细模式?回答:你可以将Werkzeug记录器的设置级别设置为ERROR,在这种情况下,仅记录错误:import logginglog = logging.getLogger('werkzeug')...
2024-01-10
如何使Flask在端口80上运行?
我有一个通过端口5000运行的Flask服务器,很好。我可以在http://example.com:5000上访问它但是是否可以在http://example.com上简单地访问它?我假设这意味着我必须将端口从5000更改为80。但是当我在Flask上尝试使用该端口时,运行该错误消息。Traceback (most recent call last): File "xxxxxx.py", line 31, in <module>app.run(host="0...
2024-01-10
如何在Flask上获取查询字符串?
从Flask文档中关于如何获取查询字符串的信息并不明显。所以@app.route('/')@app.route('/data')def data(): query_string=?????? return render_template("data.html")回答:from flask import request@app.route('/data')def data(): # here we want to get the value of user (i.e. ?user=some-...
2024-01-10
Flask上下文堆栈的目的是什么?
我一直在使用请求/应用程序上下文有一段时间,但并没有完全了解它的工作原理或设计原因。当涉及到请求或应用程序上下文时,“堆栈”的目的是什么?这是两个单独的堆栈,还是都是一个堆栈的一部分?是将请求上下文压入堆栈,还是堆栈本身?我是否可以在彼此之上推送/弹出多个上下文?如果...
2024-01-10
如何在Flask中获取HTTP标头?
我是python的新手,使用Python Flask并生成REST API服务。我想检查发送给客户端的授权标头。但是我找不到在flask中获取HTTP标头的方法。感谢获得HTTP标头授权的任何帮助。回答:from flask import requestrequest.headers.get('your-header-name')request.headers 行为就像字典一样,因此你也可以像使用任何字典一样获取标头...
2024-01-10
如何在Flask模板中显示当前年份?
我正在寻找如何在Flask模板中输出当前年份。我知道你可以在Django中使用{% now "Y" %}.,但是有Flask等效项吗?到目前为止,我一直无法找到任何东西。回答:使用模板上下文处理器将当前日期传递给每个模板,然后呈现其year属性。from datetime import datetime@app.context_processordef inject_now(): return {'now': datet...
2024-01-10
如果请求中止,则停止处理Flask路线
我有一个flaskREST端点,该端点执行一些CPU密集型图像处理,并且需要几秒钟的时间才能返回。通常,此端点被调用,然后被客户端中止。在这些情况下,我想取消处理。我该如何在烧瓶中这样做?在node.js中,我将执行以下操作:req.on('close', function(){ //some handler});我期望flask具有类似的东西,或者...
2024-01-10
