【发布时间】:2015-09-14 05:13:44
【问题描述】:
我对编程很陌生。 我正在使用 Pycharm IDE 和烧瓶框架。 我现在正在尝试使用 SQLAlchemy,当我尝试运行查询 (db_create.py) 以在数据库中添加内容时,它返回“系统错误:未加载父模块,无法执行相对导入”。
从我在互联网上收集的信息来看,这似乎是一个 Pycharm 问题,但我真的不明白如何解决它。
请问有人有意见吗?
作为参考,我的项目结构如下(pjctBB 应该列在表格中,因为它是 pjctMain 的一部分)。
非常感谢您花时间阅读本文并帮助我退出。 提前致谢!
pjctMain
├── run.py
pjctBB
├── __init__.py
├── models.py
├── views.py
├── pjctbb_sg.db
└── db_create.py
我的 run.py:
from pjctBB import app
import os
app.secret_key = os.urandom(24)
app.run(debug=True)
我的初始化:
from .views import app
from .models import *
我的 models.py 包含以下内容:
from .views import db
class User(db.Model):
__tablename__ = "users"
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String, nullable=False)
username = db.Column(db.String, nullable=False)
password = db.Column(db.String, nullable=False)
rank = db.Column(db.Integer, nullable=False)
def __init__(self, email, username, password, rank):
self.email = email
self.username = username
self.password = password
self.rank = rank
我的(部分)views.py 有以下内容:
from flask import Flask, \
render_template, request, redirect, url_for, session, flash, json
# from .models import register1
import os
from flask_sqlalchemy import SQLAlchemy
#import sqlite3
#from passlib.hash import bcrypt
from functools import wraps
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///pjctbb_sg.db'
# Create SQLAlchemy object
db = SQLAlchemy(app)
最后,我的 db_create.py:
from .views import db
from .models import User
db.create_all()
db.session.add(User("test@test.com", "test", "000000", "50"))
db.session.commit()
【问题讨论】:
-
你能发布确切的错误吗?
-
您是否尝试过不带 .在文件前面?
-
我也问了几乎相同的问题。但是我有不同的项目布局:How can I create imports that always work?
标签: python sql flask sqlalchemy flask-sqlalchemy