我试图将用户模型视图添加到Flask-Admin。但是,我得到了ImportError: cannot import name db
。为什么会发生这种情况,我该如何解决?
app/__init__.py
:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import flask_admin as admin
from app.models import User
db = SQLAlchemy()
admin = admin.Admin(name="Admin Panel")
def create_app(config_name):
app = Flask(__name__)
db.init_app(app)
admin.init_app(app)
admin.add_view(ModelView(User, db.session))
return app
app/models.py
:
from . import db, login_manager
class User(UserMixin, db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
当添加时admin.add_view(ModelView(User, db.session))
,我也必须添加from app.models import User
。添加以下行后出现此错误:
Traceback (most recent call last):
File "manage.py", line 3, in <module>
from app.models import User, Role
File "/home/qadim/PycharmProjects/esouq/app/__init__.py", line 1, in <module>
from app.models import User
File "/home/qadim/PycharmProjects/esouq/app/models.py", line 9, in <module>
from . import db, login_manager
ImportError: cannot import name db
您的代码行from app.models import User
在__init__.py
。问题是,app.models
有from . import db
。这是一个循环导入:__init__
尝试导入User
,尝试导入db
,直到__init__
尝试导入才定义User
。要解决此问题,请将本地应用程序导入移动到所有全局扩展名的定义下方。
目前,您的代码如下所示:
from flask_sqlalchemy import SQLAlchemy
from app.models import User
db = SQLAlchemy()
您需要将其更改为:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
from app.models import User
帮助将cookie设置为HttpClient 创建了一个登录到外部web服务的程序。但是,要从HTTP GET获取重要信息,我无法传入cookie(从登录生成)。 app.java(使用ClientHelper的类): 当我运行应用程序时,我可以登录(我看到生成的JSON),但是getProfile()方法返回一个空的JSON对象: 在命令行中,我试图使用curl来模拟以下情况:
我从单元测试开始。我对一个类做了更改,在这个类中我不注入SessionContext,这样我就可以在需要时进行查找。 现在,在我的测试中,我想注入它,这样我就可以模拟查找方法: 我觉得很奇怪,因为我拥有所需的所有依赖项(这段代码在真实的应用程序中工作)。 如何使用mockito模拟和注入SessionContext?(我无法改变嘲讽框架)。
在尝试遍历ShapeContainer的内部内容时,我希望通过检查的父项来区分和不是的子项: 无论是否是的子级,这对于每种情况都是相同的。 测试1:检查ShapeContainer是否为XSSFShapeGroup的实例。 测试2:访问子节点后查找父标记。 这清楚地表明父级确实存在,并且还允许我们在进程中检查父级。 我还没有检查其他类型的,如或。但是,由于它们都继承了同一个类,即,我想结果不会有太
问题内容: 有一次,我改变DEBUG = False,我的网站将产生500(使用WSGI和manage.py runserver命令),并且在Apache的错误日志中没有错误信息,当我改变它通常会运行debug到True。 我正在使用Django 1.5和Python 2.7.3,这是Apache访问日志,并且在apache错误日志中没有任何日志 这是我的设置文件: 问题答案: Django 1.
我有一个立方体,我只在x轴上的3个点(浮动位置)之间移动它。所以立方体将从0.00开始,我按下右键,它在x轴上向右移动到2.0f。然后我按下左键,它会回到0.0f。然后我再次按下左键,它会移动到-2.0f。按下右键应该会将其返回到0.0f,但会超出0。误差的大小取决于我移动的速度。 如果我从左键开始,结果也是一样的。 帧时间是
所以在用kotlin类做了大量的试验和错误之后,我发现同样的代码在java中是可测试的,但在kotlin中是不可测试的。 这会导致:org . mock ITO . exceptions . mis using . missingmethodinvocationexception:when()需要一个必须是“模拟上的方法调用”的参数。比如:when(mock.getArticles())。然后返回