当我尝试在烧瓶中分配密钥时,我收到此错误

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

出现错误提示

 File "c:\Users\Cheta\Desktop\project\app.py", line 6
    app.config('SECRET_KEY') = 'secret'
    ^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: cannot assign to function call here. Maybe you meant '==' instead of '='?
python flask flask-sqlalchemy flask-restful
1个回答
0
投票

您遇到的错误是由于您在 Flask 应用程序中设置配置值时使用的语法不正确造成的。 Flask 的 app 对象中的 config 属性是一个类似字典的对象,用于存储应用程序的配置选项。要设置配置值,您应该使用字典样式的赋值语法,而不是函数调用语法。 (@Himanshu 如果我错了请纠正我)

第二件事是,配置键应该是“SQLALCHEMY_DATABASE_URI”而不是“SQL_ALCHEMY_DATABASE_URI”。 (删除多余的“_”就可以了。) SQLite URI 的正确格式是“sqlite:///site.db”。 (在 sqlite 之后需要三个斜杠 (///):以指示数据库文件 site.db 的相对路径。)

最后一件事正如@Mark所说,你正在使用字典,所以你必须在第6行和第7行使用圆括号。

所以,整体代码是:

from datetime import datetime
from flask import flask, render_template, url_for, flash, redirect
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
db = SQLAlchemy(app)

if __name__ == '__main__':
    app.run(debug=True)

这里还有最后一件事需要改变。如果您尝试自己编码并查找错误,我将在此处添加底部的部分,以便您在遇到问题时查找(不想破坏您的乐趣:D)

应该是:

from flask import Flask, render_template, url_for, flash, redirect
© www.soinside.com 2019 - 2024. All rights reserved.