草庐IT

Flask-Migrate

全部标签

python - Flask-WTF - validate_on_submit() 永远不会执行

我正在使用Flask-WTF:这是我的表格:fromflask.ext.wtfimportForm,TextFieldclassBookNewForm(Form):name=TextField('Name')这里是Controller:@book.route('/book/new',methods=['GET','POST'])defcustomers_new():form=BookNewForm()ifform.is_submitted():print"submitted"ifform.validate():print"valid"ifform.validate_on_submit(

python - 使用 Flask,如何修改所有输出的 Cache-Control header ?

我试过用这个@app.after_requestdefadd_header(response):response.headers['Cache-Control']='max-age=300'returnresponse但这会导致出现重复的Cache-Controlheader。我只想要max-age=300,而不是max-age=1209600行!$curl-Ihttp://my.url.here/HTTP/1.1200OKDate:Wed,16Apr201414:24:22GMTServer:ApacheCache-Control:max-age=300Content-Length:

python - 为什么不每次 Flask 启动时生成 key ?

使用session时,Flask需要key。在我见过的每个示例中,key都是以某种方式生成的,然后存储在源代码或配置文件中。永久存储它的原因是什么?为什么不简单地在应用程序启动时生成它?app.secret_key=os.urandom(50) 最佳答案 key用于签署sessioncookie。如果您必须重新启动应用程序并重新生成key,则所有现有session都将失效。这可能不是您想要的(或者至少,不是使session无效的正确方法)。对于依赖key的其他任何东西都可以采用类似的情况,例如由itsdangerous生成的toke

python - Flask-RESTful API : multiple and complex endpoints

在我的Flask-RESTfulAPI中,假设我有两个对象,用户和城市。这是一对多的关系。现在,当我创建我的API并向其添加资源时,我所能做的似乎就是将非常简单和通用的URL映射到它们。这是代码(不包括无用的东西):classUserAPI(Resource):#TheAPIclassthathandlesasingleuserdef__init__(self):#Initializedefget(self,id):#GETrequestsdefput(self,id):#PUTrequestsdefdelete(self,id):#DELETErequestsclassUserLis

python - flask URL 路由 : Route Several URLs to the same function

我正在使用Flask0.9。现在我想将三个url路由到同一个函数:/item//item///item//部分永远不会在函数中使用。为了达到这个目的,我必须复制同一个函数两次:@app.route('/item//')defshow_item(appitemid):@app.route('/item//')defshow_item(appitemid,anythingcanbehere):会有更好的解决方案吗? 最佳答案 为什么不直接使用可能为空的参数,默认值为None?@app.route('/item//')@app.route

python - flask 与应用程序混淆

我正在启动一个flask项目,并且在我的代码中fromflaskimportFlask,render_template,abortapp=Flask(__name__)现在app到底是什么?我关注thisguide而且我对结构特别困惑,因为他选择了名为app/的目录,并且是他的app/__init__.py他有fromflaskimportFlaskapp=Flask(__name__)fromappimportviews在他的app/views.py中有fromappimportapp所有这些app到底是什么鬼?! 最佳答案 我认

python - 使用 Flask session 时出现内部服务器错误

我想在请求之间保存一个ID,使用Flasksessioncookie,但是当我执行一个请求时,我得到一个InternalServerError作为结果。我制作了一个简单的Flask应用程序原型(prototype)来演示我的问题:#!/usr/bin/envpythonfromflaskimportFlask,sessionapp=Flask(__name__)@app.route('/')defrun():session['tmp']=43return'43'if__name__=='__main__':app.run()为什么我在执行请求时无法存储具有以下值的sessioncook

python - 运行 flask 应用程序后调用函数的正确方法是什么?

我对如何做一些我认为很简单的事情有点困惑。我有一个使用Flask编写的简单应用程序。它看起来像这样:fromflaskimportFlaskapp=Flask(__name__)def_run_on_start(a_string):print"doingsomethingimportantwith%s"%a_string@app.route('/')defroot():return'helloworld'if__name__=="__main__":iflen(sys.argv)我发现我的终端正在输出_run_on_start中的打印语句,但不是其他常用的Flask应用程序调试代码。如

python - 如何在 Celery 任务中使用 Flask-SQLAlchemy

我最近切换到Celery3.0。在此之前,我使用的是Flask-Celery为了将Celery与Flask集成。虽然它有很多问题,比如隐藏一些强大的Celery功能,但它允许我使用Flask应用程序的完整上下文,尤其是Flask-SQLAlchemy。在我的后台任务中,我正在处理数据和SQLAlchemyORM来存储数据。Flask-Celery的维护者已经放弃了对该插件的支持。该插件在任务中腌制Flask实例,因此我可以完全访问SQLAlchemy。我试图在我的tasks.py文件中复制此行为,但没有成功。您对如何实现这一点有任何提示吗? 最佳答案

python - flask Restful : passing parameters to GET request

我想通过以下方式创建一个支持GET请求的资源:/bar?key1=val1&key2=val2我试过这段代码,但它不工作app=Flask(__name__)api=Api(app)classBarAPI(Resource):defget(key1,key2):returnjsonify(dict(data=[key1,key2]))api.add_resource(BarAPI,'/bar',endpoint='bar')谢谢! 最佳答案 编辑:reqparse不再是使用flask-restful执行此操作的推荐方法!,但下面还有