首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python 400坏请求错误每个请求

Python 400坏请求错误每个请求
EN

Stack Overflow用户
提问于 2021-01-31 05:00:32
回答 1查看 1.7K关注 0票数 2

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

application.py

代码语言:javascript
复制
from app import create_app

application = app = create_app()

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

routes.py (仅包括用于简洁和省略导入的索引路径)

代码语言:javascript
复制
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是一个混乱,因为我正在玩,看看这是否是一个问题。

代码语言:javascript
复制
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'])
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-01 03:17:32

弄明白了。当运行护身符时,它强制所有东西都到HTTPS,除非处于调试模式。

这篇文章上做第一件事,最终使它开始工作。不过,整篇文章提出了一种更明智的方法。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65975905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档