相关疑难解决方法(0)

无论Content-Type标头如何,都可以在Python Flask中获取原始POST主体

以前,我问过如何获取Flask请求中收到的数据,因为它request.data是空的.答案解释request.data为原始帖子正文,但如果解析表单数据则为空.如何无条件地获得原始邮政体?

@app.route('/', methods=['POST'])
def parse_request():
    data = request.data  # empty in some cases
    # always need raw data here, not parsed form data
Run Code Online (Sandbox Code Playgroud)

python werkzeug flask

127
推荐指数
4
解决办法
11万
查看次数

如何使用Python和Flask获取请求变量的值

我想知道如何使用带有Flask的Python获取POST/GET请求变量的值.

使用Ruby,我会做这样的事情:

variable_name = params["FormFieldValue"]
Run Code Online (Sandbox Code Playgroud)

我如何使用Flask做到这一点?

python variables request flask

59
推荐指数
2
解决办法
10万
查看次数

使用烧瓶从选择标签中获取价值

我是Flask的新手,我无法从select标签中获取值.我试过request.form['comp_select']返回一个错误的请求.但是,当我尝试使用时request.form.get('comp_select'),我的返回页面返回一个空白列表"[]".

我的HTML:

<form class="form-inline" action="{{ url_for('test') }}">
  <div class="form-group">
    <div class="input-group">
        <span class="input-group-addon">Please select</span>
            <select name="comp_select" class="selectpicker form-control">
              {% for o in data %}
              <option value="{{ o.name }}">{{ o.name }}</option>
              {% endfor %}                                              
            </select>
    </div>
    <button type="submit" class="btn btn-default">Go</button>
  </div>
</form>
Run Code Online (Sandbox Code Playgroud)

我的app.py:

@app.route("/test" , methods=['GET', 'POST'])
def test():
    select = request.form.get('comp_select')
    return(str(select)) # just to see what select is
Run Code Online (Sandbox Code Playgroud)

如果我的帖子格式化已关闭(也是Stack Overflow的新功能),请提前抱歉.

html python flask

29
推荐指数
1
解决办法
5万
查看次数

Flask - 错误请求浏览器(或代理)发送了此服务器无法理解的请求

我正在尝试使用flask进行文件上传并将数据任务输入我的MongoDB,但是当我填写表单并上传图像时出现此错误:

错误请求 浏览器(或代理)发送了此服务器无法理解的请求.

我的HTML代码

    <form class="form-check form-control" method="post" enctype="multipart/form-data" action="{{ url_for('index') }}">      
          <label>Full Name*</label></td>
          <input name="u_name" type="text" class="text-info my-input" required="required" />
          <label>Email*</label>
          <input name="u_email" type="email" class="text-info my-input" required="required" />
          <label>Password*</label>
          <input name="u_pass" type="password" class="text-info my-input" required="required" />
          <label>Your Image*</label>
          <input name="u_img" type="file" class="text-info" required="required" /></td>
          <input name="btn_submit" type="submit" class="btn-info" />
    </form>
Run Code Online (Sandbox Code Playgroud)

&我的python代码:

from flask import Flask, render_template, request, url_for
from flask_pymongo import PyMongo
import os
app = Flask(__name__)
app.config['MONGO_DBNAME'] = 'flask_assignment'
app.config['MONGO_URI'] = 'mongodb://<user>:<pass>@<host>:<port>/<database>'
mongo = PyMongo(app)
app_root = os.path.dirname(os.path.abspath(__file__)) …
Run Code Online (Sandbox Code Playgroud)

python mongodb pymongo flask

10
推荐指数
1
解决办法
3万
查看次数

PUT请求上传不在Flask中工作的文件

我正在使用Flask开发Web应用程序.其中一个视图应该通过PUT请求接受上传的文件,但是我只能获得POST请求$ curl -F upload=@filename URL才能正常工作.随着PUT请求,如$ curl --upload-file filenname URLrequest.filesImmutableMultiDict是空的.我是否在烧瓶中丢失了一些东西或者使用卷曲?

python http http-put http-method flask

6
推荐指数
1
解决办法
3902
查看次数

从Flask中的textarea中检索文本

我希望能够在textarea(HTML)中编写多行文本,并在python中检索此文本以便使用Flask进行处理.或者,我希望能够在表单中编写多行文本.我对使用JS没有任何线索,所以这对我没有帮助.我该怎么做呢?

html python forms textarea flask

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

烧瓶:将UTC时间转换为用户本地时间

我正在尝试在 Flask 应用程序中将 UTC 时间转换为适当的本地时间。我想知道是否可以检测用户的时区并动态设置它。

到目前为止,这是我的代码,仅适用于US/Pacific时区中的每个人(datetimefilter这个 SO 问题中提取)

from flask import Flask, render_template_string
import datetime
import pytz

app = Flask(__name__)

@app.template_filter('datetimefilter')
def datetimefilter(value, format='%b %d %I:%M %p'):
    tz = pytz.timezone('US/Pacific')  # timezone you want to convert to from UTC (America/Los_Angeles)
    utc = pytz.timezone('UTC')
    value = utc.localize(value, is_dst=None).astimezone(pytz.utc)
    local_dt = value.astimezone(tz)
    return local_dt.strftime(format)

@app.route('/')
def index():
    dt = datetime.datetime.utcnow()
    return render_template_string(
        '''
        <h4>UTC --> Local Time</h4>
        Datetime right now is:
        <p>{{ dt | …
Run Code Online (Sandbox Code Playgroud)

python timezone datetime utc pytz

6
推荐指数
1
解决办法
7083
查看次数

错误:由于表单未连接,表单提交被取消

关于潜在重复的免责声明:我也遇到过类似的问题,我想我现在已经阅读了几乎所有这些答案,但没有一个为我解决了问题。

我有一个应用程序,前端是 React,后端是 Flask 服务器。我有一个重大问题。代码似乎检查了前端和后端,但是当我单击表单的提交按钮后,我在 JS 控制台中收到错误:Form submission canceled because the form is not connected.

现在,我的表单上只有一个按钮,并且该按钮的类型为submithandleSubmit处理程序位于form标记中,因此我认为这不会导致问题。我还添加了此配置对象来处理潜在的 CORS 错误,但至少我没有收到任何 CORS 错误。

React 表单组件代码:

import React, { useState } from "react";
import axios from "axios";
import Button from "@material-ui/core/Button";
import { TextField } from "@material-ui/core";
import DisplayUpper from "./DisplayUpper";

function Form() {
  const [inputText, setInputText] = useState("");
  const [fetchedData, setFetchedData] = useState("");
  const [isSubmitted, setSubmitted] = useState(false);

  const handleSubmit = (e) => {
    setSubmitted(true);

    console.log("button …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

6
推荐指数
1
解决办法
8243
查看次数

如何使用 Flask/Python 3 处理 URL 中缺少的参数

目前,我的网站上有两个下拉框,其值在提交表单时转换为两个 URL 参数“myState”和“myShelter”。例如:

https://www.atweather.org/forecast?myState=CT&myShelter=181

我现在添加第三个框,并且将有第三个名为“myTrail”的相应参数。我的问题是:如何才能使如果有人直接提交仅包含两个参数的 URL,浏览器不会因错误请求而出错?我希望用户看到该页面就好像选择了“myState”和“myShelter”,但“myTrail”未被选择。

我尝试查看此处此处,但我认为这些情况与我所问的情况并不完全相同。我在 Python 3 下使用 Flask,目前处理这条路线如下:

@app.route('/forecast', methods = ['GET'])
def forecast(loc_state = None, loc_id = None):

    """
    Handles rendering of page after a location has been selected
    """

    loc_state = request.args['myState']
    loc_id = int(request.args['myShelter'])

    ...and a bunch of other logic for rendering the page...
Run Code Online (Sandbox Code Playgroud)

预先感谢您的任何见解!

url-parameters flask python-3.x

5
推荐指数
1
解决办法
4367
查看次数

Flask:request.form[“xxxxx”]、request.form.get(“xxxxxx”)和request.args.get(“xxxxx”)之间的区别?

flask.request.form["xxx"]flask.request.form.get("xxx")和之间有什么区别flask.request.args.get("xxx")

我有这个问题,因为我正在使用flask-login 来处理身份验证。
特别是在下面的代码中(取自flask-login github页面),我不明白为什么 with req.form.get("email"), email 是None,而 with req.form["email"], email 没有值。这是代码。

@login_manager.request_loader
def request_loader(req):
    email = req.form.get('email')
    if email not in users:
        return

    user = User()
    user.id = email

    # DO NOT ever store passwords in plaintext and always compare password
    # hashes using constant-time comparison!
    user.is_authenticated = req.form['pw'] == users[email]['pw']

    return user
Run Code Online (Sandbox Code Playgroud)

python flask flask-login

5
推荐指数
1
解决办法
6004
查看次数