【发布时间】:2020-10-12 10:04:50
【问题描述】:
我对使用烧瓶很陌生,在尝试运行我的 webapp 时出现以下错误:
File "C:\Users\\Desktop\Flask\\Project\__init__.py", line 24, in create_app
from .models import User
File "C:\Users\\Desktop\Flask\\Project\models.py", line 1, in <module>
from db import db
File "c:\users\\appdata\local\programs\python\python38-32\lib\site-packages\db\__init__.py", line 69
print "var", var
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("var", var)?
这是我的代码:
from flask_sqlalchemy import SQLAlchemy
from flask_login import LoginManager
from flask import Blueprint
from flask_jwt_extended import (
JWTManager)
import jwt
db = SQLAlchemy()
def create_app():
app = Flask(__name__)
jwt = JWTManager(app)
app.config['SECRET_KEY'] = 'altman'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.sqlite'
app.config['JWT_COOKIE_CSRF_PROTECT'] = False
app.config['JWT_TOKEN_LOCATION'] = ['cookies']
app.config["JWT_ACCESS_COOKIE_NAME"] = "Info"
db.init_app(app)
from .models import User
@login_manager.user_loader
def load_user(user_id):
return User.query.get(int(user_id))
from .api import auth as auth_blueprint
app.register_blueprint(auth_blueprint)
from .main import main as main_blueprint
app.register_blueprint(main_blueprint)
return app
这是 init.py 的代码。运行 webapp 时,我收到上面列出的错误。但是我一直在寻找并没有找到解决方案。init.py 中没有第 69 行,也没有打印。请帮帮我。在过去的几天里,我一直试图找到这个错误,但没有找到任何帮助。如果需要,我可以提供更多代码。谢谢:)
【问题讨论】:
-
您如何最终得到一个为 Python 2 编写的模块被 Python 3 调用。您是如何安装
db的? -
哦,这很奇怪,我刚刚看了烧瓶教程并跟着他们。
-
语法
print "hello world"来自 Python 2。您使用的是 Python 3,正确的语法是print("hello world")。在您的models.py文件中,您正在导入db:from db import db。 db library 不兼容 Python 3。也没有理由使用那个过时的库。 -
好的,感谢您的帮助。在大多数教程中,我看到他们使用 import db 来导入数据库,