嗨,我试图将代码分成文件。当我尝试从另一个文件导入任何变量时,出现以下错误:
文件“。\ app.py”,第2行,在 从后端导入。Measure导入Measure,MeasurementSchema,measure_schema,measures_schema ModuleNotFoundError:没有名为“后端”的模块
我有3个文件:
app.py
from flask import Flask, Request, jsonify
from backend.Measure import Measure,MeasurementSchema,measure_schema,measures_schema
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app)
@app.route('/api/measures')
def getAllMeasurements():
results = Measure.query.all()
return measures_schema.jsonify(results)
Measure.py
from flask_marshmallow import Marshmallow
from backend.app import app
from backend.app import db
ma = Marshmallow(app)
class Measure(db.Model):
__tablename__ = 'measurements'
id = db.Column(db.Integer, primary_key=True)
timestamp = db.Column(db.DateTime, auto_now_add=True)
temperature = db.Column(db.Float)
def __init__(self, timestamp, temperature):
self.timestamp = timestamp
self.temperature = temperature
class MeasurementSchema(ma.Schema):
class Meta:
fields = ('id', 'timestamp', 'temperature')
measure_schema = MeasurementSchema()
measures_schema = MeasurementSchema(many=True)
db.py
from sqlalchemy import create_engine
server = 'localhost'
database = 'TESTDB'
driver = 'SQL Server Native Client 11.0'
connection_string = f'mssql+pyodbc://@{server}/{database}?trusted_connection=yes&driver={driver}'
app.config['SQLALCHEMY_DATABASE_URI'] = connection_string
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
engine = create_engine(connection_string)
connection = engine.connect()
所有文件都在后端文件夹中,如下图所示 1
我想念什么?
答案 0 :(得分:3)
如果要从同一文件夹导入文件,则应执行此操作。
在Measure.py
中from .app import app
from .app import db
在app.py中
from .Measure import Measure,MeasurementSchema,measure_schema,measures_schema