我正在构build我的第一个Flask应用程序,我无法弄清楚组织我的应用程序的一个好的,干净的Pythonic方法。 我不想像在他们的例子中一样在一个.py文件中。 我想我的应用程序的每个部分在一个单独的模块。 什么是组织事情的好方法?
我有一个复杂的基于Flask的Web应用程序。 有很多单独的文件与查看function。 他们的URL是用@app.route('/…')装饰器定义的。 有没有一种方法可以获取我的应用程序中已经声明的所有路线的列表? 也许有一些方法可以调用app对象?
我有一个通过端口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.0.0.0", port=int("80"), debug=True) File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 772, in run run_simple(host, port, self, **options) File "/usr/local/lib/python2.6/dist-packages/werkzeug/serving.py", line 706, in run_simple test_socket.bind((hostname, port)) File "<string>", line 1, in bind socket.error: [Errno 98] Address already in use 运行lsof -i :80返回 COMMAND PID USER […]
我试图用Flask访问用户代理,但是我无法find它的文档,或者它不告诉我。
我在Heroku Cedar dyno上运行Flask / Gunicorn Python应用程序。 该应用程序返回JSON responses到它的客户端(这真的是一个API server )。 偶尔,客户端得到0字节的响应。 但是,这不是我回来的。 这是我的应用程序日志的一个片段: Mar 14 13:13:31 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 app [web.1] [2013-03-14 13:13:31 UTC] 10.104.41.136 apisrv – api_get_credits_balance():session_token = [MASKED ] 上面的第一行是我开始处理请求。 Mar 14 13:13:31 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 app [web.1] [2013-03-14 13:13:31 UTC] 10.104.41.136 apisrv 1252148511 api_get_credits_balance():returning [{' credits_balance':0}] 第二行是我返回一个值(对Flask – 这是一个Flask“Response”对象)。 Mar 14 13:13:31 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 app [web.1]“10.104.41.136 – […]
以前,我问过如何在Flask请求中接收数据,因为request.data是空的。 答案解释说, request.data是原始文章的主体,但是如果表单数据被parsing,它将是空的。 我怎样才能无条件地获得原始的职位? @app.route('/', methods=['POST']) def parse_request(): data = request.data # empty in some cases # always need raw data here, not parsed form data
我明白Flask具有int,float和path转换器,但是我们正在开发的应用程序在其URL中有更复杂的模式。 有没有像Django中使用正则expression式的方法?
是否有任何聪明的解决scheme将静态文件存储在Flask的应用程序根目录中。 robots.txt和sitemap.xml预计会在/中find,所以我的想法是为他们创build路线: @app.route('/sitemap.xml', methods=['GET']) def sitemap(): response = make_response(open('sitemap.xml').read()) response.headers["Content-type"] = "text/plain" return response 必须有更方便的东西:)
我正在构buildFlask和SQLAlchemy的pipe理员,我想使用render_template将不同input的HTML传递给我的视图。 模板框架似乎自动转义html,所以所有的<>'>都转换为html实体。我怎样才能禁用,以便HTML呈现正确?
我的Flask路线的一半需要一个variables说, /<variable>/add或/<variable>/remove 。 如何创build指向这些位置的链接? url_for()需要一个参数的函数路由到,但我不能添加参数?