【问题标题】:Python Flask 400 Bad Request Error Every RequestPython Flask 400 Bad Request Error 每个请求
【发布时间】:2021-01-31 05:00:32
【问题描述】:

我正在开发一个 Flask 应用程序,最近将其转换为只有一个应用程序的简单蓝图模板。它在调试模式下工作正常(FLASK_DEBUG=1),但是当它不在调试模式下时,无论我尝试点击哪个页面,我都会得到“HTTPStatus.BAD_REQUEST - 代码 400”。它会自动点击https://127.0.0.1:5000,所以我尝试过http://127.0.0.1:5000,但这也不起作用,因为它似乎重定向回https。

应用程序.py

from app import create_app

application = app = create_app()

if __name__ == "__main__":
    application.run()

routes.py(为简洁起见,仅包括索引路由并省略导入)

app_blueprint = Blueprint('app_blueprint', __name__, template_folder='app/templates', static_folder='static')

@app_blueprint.route('/')
@app_blueprint.route('/index')
def index():
    return render_template('app_blueprint/index.html', title='Home')

init.py 从应用内。我的 csp 乱七八糟,因为我正在四处寻找是否会导致问题。

migrate = Migrate()
login = LoginManager()
login.login_view = 'login'
mail = Mail()
moment = Moment()

talisman = Talisman()

def create_app(config_class=Config):
    application = Flask(__name__)
    application.config.from_object(config_class)

    from app.models import db
    db.init_app(application)

    migrate.init_app(application, db)
    login.init_app(application)
    mail.init_app(application)
    moment.init_app(application)

    from app.routes import app_blueprint
    application.register_blueprint(app_blueprint)

    csp = {
        'default-src': [
            '\'self\'',
            '*.com',
            'data:'
        ],
        'script-src': [
            '\'self\'',
            'https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment-with-locales.min.js',
            'https://code.jquery.com/jquery-3.5.1.min.js'
        ],
        'img-src': [
            '\'self\'',
            'data:',
            '*.com',
            '*.net',
            '*.org',
        ]
    }

    talisman.init_app(application, content_security_policy=csp, content_security_policy_nonce_in=['script-src'])

【问题讨论】:

    标签: python flask bad-request


    【解决方案1】:

    想通了。运行护身符时,它会强制所有内容使用 HTTPS,除非它处于调试模式。在这个页面上做第一件事最终让它工作(尽管页面更下方是更有意义的事情)。 https://blog.miguelgrinberg.com/post/running-your-flask-application-over-https

    【讨论】:

      猜你喜欢
      • 2019-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-29
      • 2013-10-02
      • 2021-07-20
      • 1970-01-01
      • 2017-09-26
      相关资源
      最近更新 更多