请教一个python的secret_key问题?

如题详述: flask web项目里用了wtforms,却一直报错需要csrf secret_key
图片描述

以下是代码:包含多个文件内容,已注明文件名

//models.py

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://lofayo:123456@127.0.0.1:3306/movie'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True

//下面的这些key目前是我随便设置的
app.config["SECRET_KEY"] = 'af2fad8cfe1f4c5fac4aa5edf6fcc8f3'
app.config["WTF_CSRF_SECRET_KEY"] = 'sfsfsfsfs'

db = SQLAlchemy(app)
// forms.py

# coding:utf8
from flask_wtf import Form
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired

# 标签表单类
class TagForm(Form):
  name = StringField(
    label='名称',
    validators=[
          DataRequired("请输入标签!")
      ]
  )
  submit = SubmitField(
    '编辑'
  )
//views.py

from app.admin.forms import TagForm

# 添加标签
@admin.route('/tag/add', methods=['GET', 'POST'])
def tag_add():
  form  = TagForm()
  return render_template('admin/tag_add.html', form=form)

实在闹不明白,特此一问,知情者烦请告知,辞谢!!!

阅读 3.3k
1 个回答

问你个问题,私底下建了个demo用相同的配置,发现是正常的,不会出现“KeyError: 'A secret key is required to use CSRF.'”。而之前项目和此项目的区别在于,之前问题项目用的是blueprint,难道是和此相关么?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题