python - 使用 Flask 获取表单数据

标签 python flask

当从 Flask 中获取数据时,我可以以某种方式将 html 元素及其值绑定(bind)到一个对象而不使用 Jinja 模板吗?

或者我必须通过手动 HTTP Post 发送数据吗?

最佳答案

我认为你真正要问的是“给定一个客户端JavaScript对象,我如何序列化它以便我可以轻松访问服务器端的数据”。如果这是您的问题,有两种方法可以实现:

  1. 您在答案中提供的方式,将对象序列化为 JSON 并将其作为 POST 请求的正文提交:

    @app.route("/user", methods=("POST",))
    def save_user():
        data = request.get_json()
        # ... etc. ...
    
  2. 使用FormData在客户端:

    var yourUser = {
        firstname: "Joe",
        lastname: "Smith",
        email: "joe@smith.com",
        password: "12345"
    };
    
    var formData = new FormData();
    Object.keys(yourUser).forEach(function(key) {
        formData.append(key, yourUser[key]);
    });
    // Post formData back to your controller using XHR
    

    与服务器端正常的request.form访问结合:

    @app.route("/user", methods=("POST",))
    def save_user():
        data = request.form
        # ... etc. ...
    

关于python - 使用 Flask 获取表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19805763/

相关文章:

Python删除链表中的一个节点,只要访问该节点

python - Gunicorn 不会启动 Flask 应用程序,因为 "Application object must be callable"

javascript - 动态填充多个(不止一个)下拉选项/选项(Flask、python、Ajax)

python - 如何使用 Flask 和 SQLAlchemy 输出扁平化数据库表以实现出色表现

python - Tensorflow:在 eager 模式下慢 7 倍

python - 字符串在 python 中 float 时遇到问题

Python:如何保存混淆矩阵

python - 在 wxPython 应用程序中嵌入 3D 编辑器(例如 Blender)

python - 使用 gevent 修补的代码库是否应该使单元测试运行得更快?

python - 在 GET 和 POST 之间传输随机生成的数据库 key