Tag: 烧瓶

使用url_for链接到Flask静态文件

如何在Flask中使用url_for引用文件夹中的文件? 例如,我在static文件夹中有一些静态文件,其中一些可能在子文件夹(如static/bootstrap 。 当我尝试从static/bootstrap服务文件,我得到一个错误。 <link rel=stylesheet type=text/css href="{{ url_for('static/bootstrap', filename='bootstrap.min.css') }}"> 我可以引用不在子文件夹中的文件,这是有效的。 <link rel=stylesheet type=text/css href="{{ url_for('static', filename='bootstrap.min.css') }}"> 使用url_for引用静态文件的正确方法是什么? 如何使用url_for生成url到任何级别的静态文件?

即使模板文件存在,Flask仍会引发TemplateNotFound错误

我正在尝试呈现文件home.html 。 该文件存在于我的项目,但我不断收到jinja2.exceptions.TemplateNotFound: home.html当我尝试呈现它。 为什么Flask无法find我的模板? from flask import Flask, render_template app = Flask(__name__) @app.route('/') def home(): return render_template('home.html') /myproject app.py home.html

Flask应用程序追踪不会显示在服务器日志中

我用uWSGI和nginx运行我的Flask应用程序。 有500错误,但追溯不会出现在浏览器或日志中。 如何从Flasklogging回溯? uwsgi –http-socket 127.0.0.1:9000 –wsgi-file /var/webapps/magicws/service.py –module service:app –uid www-data –gid www-data –logto /var/log/magicws/magicapp.log uWSGI日志只显示500状态码,而不是回溯。 在nginx日志中也没有任何东西。 [pid: 18343|app: 0|req: 1/1] 127.0.0.1 () {34 vars in 642 bytes} [Tue Sep 22 15:50:52 2015] GET /getinfo?color=White => generated 291 bytes in 64 msecs (HTTP/1.0 500) 2 headers in 84 bytes (1 switches on core 0)

为什么运行Flask dev服务器运行两次?

我正在使用Flask开发一个网站,而在开发中,我使用以下文件运行烧瓶: #!/usr/bin/env python from datetime import datetime from app import app import config if __name__ == '__main__': print '################### Restarting @', datetime.utcnow(), '###################' app.run(port=4004, debug=config.DEBUG, host='0.0.0.0') 当我启动服务器或由于文件已更新而自动重新启动时,它总是显示两行的打印行: ################### Restarting @ 2014-08-26 10:51:49.167062 ################### ################### Restarting @ 2014-08-26 10:51:49.607096 ################### 虽然这不是一个真正的问题(其余部分按预期工作),但我只是想知道为什么它会这样呢? 有任何想法吗?

如何在Flask中获取发布的json?

我正在尝试使用Flask构build一个简单的API,现在我想在其中读取一些POST JSON。 我使用PostMan Chrome扩展来完成这个职位,而JSON我的职位只是{"text":"lalala"} 。 我尝试使用以下方法读取JSON: @app.route('/api/add_message/<uuid>', methods=['GET', 'POST']) def add_message(uuid): content = request.json print content return uuid 在浏览器上,它正确地返回了我放在GET中的uuid,但是在控制台上,它只是打印出None (我希望它打印出{"text":"lalala"} 。是否有人知道我可以如何获得从Flask方法中发布的JSON?

从Flask视图返回JSON响应

我有一个function,分析与pandas的CSV文件,并产生与摘要信息的字典。 我想从Flask视图返回结果作为响应。 我如何返回一个JSON响应? @app.route("/summary") def summary(): d = make_summary() # send it back as json

如何获取Flask请求中收到的数据

我希望能够将数据发送到我的Flask应用程序。 我试过访问request.data但是它是一个空string。 你如何访问请求数据? @app.route('/', methods=['GET', 'POST']) def parse_request(): data = request.data # data is empty # need posted data here 这个问题的答案导致我要求在Python Flask中获取原始POST主体,而不pipeContent-Type头是什么,这是关于获取原始数据而不是parsing数据。

如何在Flask中提供静态文件

所以这很尴尬。 我有一个应用程序,我扔在一起Flask ,现在它只是提供一个静态的HTML页面,一些链接到CSS和JS。 而且我无法findFlask描述的返回静态文件的位置。 是的,我可以使用render_template但我知道数据不是模板化的。 我以为send_file或url_for是正确的,但我无法让这些工作。 与此同时,我正在打开文件,阅读内容,并安装适当的mimetype Response : import os.path from flask import Flask, Response app = Flask(__name__) app.config.from_object(__name__) def root_dir(): # pragma: no cover return os.path.abspath(os.path.dirname(__file__)) def get_file(filename): # pragma: no cover try: src = os.path.join(root_dir(), filename) # Figure out how flask returns static files # Tried: # – render_template # – send_file […]

为所有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"

Docker获取用户的真实IP

我有一个Flask网站在Docker容器中运行。 我想显示用户的IP地址给他们,但是它目前显示的是码头集装箱的IP地址,可能是由于它从码头转发。 我使用Flask的requests模块来检索IP地址。 它不应该有所作为,但我使用码头撰写。 version: '2' services: web: build: . ports: – "5000:5000" volumes: – .:/code redis: image: "redis:alpine" 这是使用Flask的网站的代码: from flask import Flask, request from redis import Redis app = Flask(__name__) redis = Redis(host='redis', port=6379) @app.route('/') def hello(): count = redis.incr('hits') return 'Your IP is: {0}. I have been visited {1} times and \'foo\' […]