草庐IT

python - Apache 终止 Flask 进程时如何调用函数?

我有一个在ApacheHTTPD后面运行的Flask应用程序。Apache配置为具有多个子进程。Flask应用程序在服务器上创建一个文件,文件名与其进程ID相同。代码看起来像这样:importos@app.before_first_requestdefbefore_first_request():filename=os.getpid()withopen(filename,'w')asfile:file.write('Hello')当子进程被杀死/结束/终止时,我希望Flask应用程序删除这个文件。删除文件并不是特别重要,因为这些文件不会占用太多空间,所以如果出现奇怪的错误我不需要处理它

python - 在 heroku 上提供交互式 Bokeh 图

我正在尝试通过heroku提供交互式bokeh图。我试图提供的数字基本上等同于这个数字(example,code)。我对bokeh和heroku都是新手,所以我很确定我错过了一些非常基本的东西——我想我想做的应该是相当直截了当。首先,我可以使用bokehserve--showmyapp命令在本地提供我的图形。其中myapp是包含bokeh图的python模块的名称。请注意,--show标志只是提示bokeh在构建图形且服务器正在运行后打开浏览器窗口。接下来,我设置了一个heroku帐户,并按照Heroku-GettingStartedWithPythontutorial中的步骤创建了我

python - 在 Flask 中寻找 url_for 的倒数

我正在使用Flask和Flask-RESTful构建RESTAPI。在此API中,我的一些资源包含与其他资源的url关系。当对这些资源执行POST请求时,我发现我需要Flask的url_for()函数的逆函数来解析传入的url。例如,https://www.example.com/buildings的POST可能包含以下json:{"address":"123LyallSt",..."owner":{"href":"https://www.example.com/users/21414512"},"tenant":{"href":"https://www.example.com/use

python - 使用 mechanize 和 pythonanywhere 获取 "error Tunnel connection failed: 403 Forbidden"

我使用python、mechanize和flask编写了一个小型网络应用程序。当我在本地运行它时,它工作得很好。在pythonanywhere.com上部署时,我收到“内部服务器错误”和以下堆栈跟踪:Traceback(mostrecentcalllast):File"/usr/local/lib/python2.7/dist-packages/flask/app.py",line1687,inwsgi_appresponse=self.full_dispatch_request()File"/usr/local/lib/python2.7/dist-packages/flask/ap

Flask 的 Python 装饰器

我需要为Flask路由函数添加一个python装饰器,(基本上我编辑了here中的代码)defrequires_admin(f):defwrapper(f):@wraps(f)defwrapped(*args,**kwargs):#ifnotadmin:#returnrender_template('error.html')returnf(*args,**kwargs)returnwrappedreturnwrapper然后像这样使用它就可以了:@app.route('/admin/action')@requires_admindefAdminAction():#NOerrorifNO

python - 使用带前导斜杠的路径的 Flask 路由

我正在尝试使用带有路径转换器的简单路径获取Flask:@api.route('/records///')除非URL的“路径”部分使用前导斜杠,否则它会起作用。在这种情况下,我得到了404。我理解这个错误,但我没有得到的是文档或Internet上的任何地方都没有关于如何解决这个问题的解决方法。我觉得我是第一个尝试做这件基本事情的人。有没有办法让它与有意义的URL一起工作?例如这种请求:http://localhost:5000/api/records/localhost/disks.free//dev/disk0s2 最佳答案 Pat

python - 如何使用 Flask 处理从 jquery 数据表发送的服务器端参数?

当启用服务器端处理时,我在处理由jquerydatatables1.10发送的参数时遇到了一些问题。我像这样在javascript端初始化了数据表:vartable=$('#mytable').DataTable({"processing":true,"serverSide":true,"ajax":{'url':url,'type':'POST'},"columns":data});然后在基于Flask的服务器中接收POST请求:@app.route('/data/',methods=['POST'])defget_data(data_key):printrequest.form#d

python - Flask JSON 序列化错误,因为 flask babel

我正在使用https://pythonhosted.org/Flask-Babel/本地化扩展。基类#!/usr/bin/envpython#-*-coding:utf-8-*-fromappimportappfromflask.ext.wtfimportFormclassBaseForm(Form):@propertydeferror_list(self):_errors=[]forfieldName,errorMessagesinself.errors.iteritems():forerrinerrorMessages:_errors.append(err)return_error

python - 在 gunicorn workers 之间共享一把锁

有没有一种在gunicornworkers之间共享多处理锁的好方法?我正在尝试用Flask编写一个jsonAPI。一些API调用将与管理正在运行的进程的python类交互(如用于视频转换的ffmpeg)。当我将WebWorker的数量扩大到1个以上时,如何确保只有1个Worker同时与类(class)互动?我最初的想法是使用multiprocessing.Lock以便start()函数可以是原子的。我认为我没有找到创建锁的正确位置,以便所有工作人员共享一个锁:#runserver.pyfromflaskimportFlaskfromwerkzeug.contrib.fixersimpo

python - uwsgi + nginx + flask : upstream prematurely closed

我在flask上创建了一个端点,它根据数据库查询(远程数据库)生成电子表格,然后将其作为下载发送到浏览器中。Flask不会抛出任何错误。Uwsgi没有提示。但是当我检查nginx的error.log时,我看到了很多2014/12/1005:06:24[error]14084#0:*239436upstreamprematurelyclosedconnectionwhilereadingresponseheaderfromupstream,client:34.34.34.34,server:me.com,request:"GET/download/export.csvHTTP/1.1",