Flask csrf:蓝图缺少密钥

问题描述 投票:0回答:1

大家好,我有这个问题我无法纠正:

KeyError:'使用CSRF需要密钥。'

我现在将Flask与Blueprint一起使用。我根本没有使用CSRF,但我认为LoginForm是。

我使用Blueprint构建了项目。在此之前,一切都找到了。

这是我的init。py文件:

from flask import Flask
from flask_login import LoginManager
from flask_bcrypt import Bcrypt
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView
from flask.config import Config
from flask_wtf.csrf import CSRFProtect


db = SQLAlchemy()
migrate = Migrate(db)
bcrypt = Bcrypt()
csrf = CSRFProtect()


login_manager = LoginManager()
login_manager.login_view = "login"
login_manager.login_message_category = "info"

from Flask import models
from Flask.models import User

admin = Admin(name='Admin')

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

    admin.init_app(app)
    db.init_app(app)
    csrf.init_app(app)

    login_manager.init_app(app)
    migrate.init_app(app)
    bcrypt.init_app(app)
    db.init_app(app)

    from Flask.users.routes import users
    app.register_blueprint(users)

    return app

这是我的config.py文件:

import os

class Config:
    SECRET_KEY = "ef2006629e09b70e55a6fb95c4e3a538"
    SQLALCHEMY_DATABASE_URI = "sqlite:///site.db"
    # WTF_CSRF_SECRET_KEY= "bjk567nvhbvj63vg363vghvghv3768vgfbkijvr784"
    # CSRF_ENABLED = True

谢谢您的帮助!

flask flask-login
1个回答
0
投票

您应该在配置中创建SECRET_KEY=<Your secret key here>属性。它必须是一个困难的字符串。

© www.soinside.com 2019 - 2024. All rights reserved.