标签: flask

如何在Flask请求中获取数据

我希望能够将数据发送到我的Flask应用程序.我试过访问request.data但它是一个空字符串.你如何访问请求数据?

@app.route('/', methods=['GET', 'POST'])
def parse_request():
    data = request.data  # data is empty
    # need posted data here
Run Code Online (Sandbox Code Playgroud)

这个问题的答案促使我在Python Flask中询问获取原始POST主体,而不管接下来是Content-Type标头,这是关于获取原始数据而不是解析数据.

python werkzeug flask

623
推荐指数
20
解决办法
72万
查看次数

如何在Flask中提供静态文件

所以这很尴尬.我有一个应用程序,我把它放在一起,Flask现在它只是提供一个静态HTML页面,其中包含一些CSS和JS的链接.我无法在文档Flask中找到返回静态文件的位置.是的,我可以使用,render_template但我知道数据没有模板化.我曾经想过send_file或者url_for是对的,但是我无法让它们发挥作用.与此同时,我正在打开文件,阅读内容,并Response使用适当的mimetype来装配:

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
        # This should not be so non-obvious
        return open(src).read()
    except IOError as exc:
        return str(exc)


@app.route('/', methods=['GET'])
def metrics():  # pragma: …
Run Code Online (Sandbox Code Playgroud)

python static-files flask

453
推荐指数
14
解决办法
53万
查看次数

从Flask视图返回JSON响应

我有一个功能,用Pandas分析CSV文件,并生成一个包含摘要信息的dict.我想将结果作为Flask视图的响应返回.如何返回JSON响应?

@app.route("/summary")
def summary():
    d = make_summary()
    # send it back as json
Run Code Online (Sandbox Code Playgroud)

python json flask

418
推荐指数
11
解决办法
42万
查看次数

将Flask dev服务器配置为在整个网络中可见

我不确定这是否特定于Flask,但是当我在开发模式(http://localhost:5000)中运行应用程序时,我无法从网络上的其他计算机访问它(带http://[dev-host-ip]:5000).例如,在开发模式下使用Rails,它可以正常工作.我找不到任何关于Flask开发服务器配置的文档.知道应该配置什么来启用它吗?

python werkzeug flask

380
推荐指数
11
解决办法
30万
查看次数

你如何在Flask上获得查询字符串?

关于如何获取查询字符串的烧瓶文档并不明显.我是新人,看着文档,找不到!

所以

@app.route('/')
@app.route('/data')
def data():
    query_string=??????
    return render_template("data.html")
Run Code Online (Sandbox Code Playgroud)

python query-string flask

357
推荐指数
8
解决办法
29万
查看次数

Python Flask如何从URL获取参数?

在Flask中,如何从URL中提取参数?如何使用flask和python从URL中提取命名参数?

当用户访问我在烧瓶应用程序上运行的URL时,我希望Web服务能够处理问号后指定的参数:

http://10.1.1.1:5000/login?username=alex&password=pw1

#I just want to be able to manipulate the parameters
@app.route('/login', methods=['GET', 'POST'])
def login():
    username = request.form['username']
    print(username)
    password = request.form['password']
    print(password)
Run Code Online (Sandbox Code Playgroud)

python web-services url-parameters flask

308
推荐指数
6
解决办法
28万
查看次数

如何在Flask中获得POST的json?

我正在尝试使用Flask构建一个简单的API,我现在想要阅读一些POSTed 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
Run Code Online (Sandbox Code Playgroud)

在浏览器上它正确地返回我放入GET的uuid,但是在控制台上,它只是打印出来None(我希望它打印出来{"text":"lalala"}.有人知道我如何从Flask方法中获取发布的JSON吗?

python post json flask

284
推荐指数
8
解决办法
37万
查看次数

如何使用cURL发送Cookies?

我读到发送带有卷曲作品的饼干,但不适合我

我有一个REST端点作为

class LoginResource(restful.Resource):
    def get(self):
        print(session)
        if 'USER_TOKEN' in session:
            return 'OK'
        return 'not authorized', 401
Run Code Online (Sandbox Code Playgroud)

当我尝试访问时

curl -v -b ~/Downloads/cookies.txt -c ~/Downloads/cookies.txt http://127.0.0.1:5000/
* About to connect() to 127.0.0.1 port 5000 (#0)
*   Trying 127.0.0.1...
* connected
* Connected to 127.0.0.1 (127.0.0.1) port 5000 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.27.0
> Host: 127.0.0.1:5000
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 401 UNAUTHORIZED
< Content-Type: …
Run Code Online (Sandbox Code Playgroud)

rest session curl session-cookies flask

272
推荐指数
6
解决办法
38万
查看次数

json.dumps vs flask.jsonify

我不确定我是否理解该flask.jsonify方法的目的.我尝试从这里创建一个JSON字符串:

data = {"id": str(album.id), "title": album.title}
Run Code Online (Sandbox Code Playgroud)

但我得到的东西与我所得到的json.dumps不同flask.jsonify.

json.dumps(data): [{"id": "4ea856fd6506ae0db42702dd", "title": "Business"}]
flask.jsonify(data): {"id":…, "title":…}
Run Code Online (Sandbox Code Playgroud)

显然我需要得到一个看起来更像json.dumps返回的结果.我究竟做错了什么?

python json flask

245
推荐指数
4
解决办法
27万
查看次数

典型的AngularJS工作流程和项目结构(使用Python Flask)

我对这整个MV*客户端框架狂热都很陌生.它不一定是AngularJS,但我之所以选择它,是因为它比Knockout,Ember或Backbone更自然.无论如何,工作流程是什么样的?人们是否开始在AngularJS中开发客户端应用程序,然后将后端连接到它?

或者反过来首先在Django,Flask,Rails中构建后端,然后将AngularJS应用程序附加到它上面?是否有"正确"的方式,或者它最终只是个人偏好?

我也不确定是否根据Flask或AngularJS构建我的项目?社区实践.

例如,Flask的minitwit应用程序的结构如下:

minitwit
|-- minitwit.py
|-- static
   |-- css, js, images, etc...
`-- templates
   |-- html files and base layout
Run Code Online (Sandbox Code Playgroud)

AngularJS教程应用程序的结构如下:

angular-phonecat
|-- app
    `-- css
    `-- img
    `-- js
    `-- lib
    `-- partials
    `-- index.html
|-- scripts
 `-- node.js server and test server files
Run Code Online (Sandbox Code Playgroud)

我可以自己想象一个Flask应用程序,并且很容易看到AngularJS应用程序就像ToDo List一样,但是当涉及到使用这两种技术时,我不明白它们是如何协同工作的.当你已经拥有AngularJS时,我几乎不需要服务器端的Web框架,一个简单的Python Web服务器就足够了.例如,在AngularJS待办事项应用程序中,他们使用MongoLab使用Restful API与数据库通信.后端不需要Web框架.

也许我只是非常困惑,而AngularJS只不过是一个花哨的jQuery库,所以我应该像我在Flask项目中使用jQuery一样(假设我将AngularJS模板语法更改为与Jinja2不冲突的东西).我希望我的问题有道理.我主要在后端工作,这个客户端框架对我来说是一个未知的领域.

javascript python flask angularjs

226
推荐指数
4
解决办法
5万
查看次数