I am facing an issue My_Directory_Structure app.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
from users.home import bp
app = Flask(__name__)
app.register_blueprint(bp, url_prefix="/user")
app.config.from_object(__name__)
app.config.from_pyfile('myconfig.cfg')
app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///QAEngine.db"
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class contactform(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(200), nullable=False)
email = db.Column(db.String(200), nullable=False)
subject = db.Column(db.String(200), nullable=False)
message = db.Column(db.String(500), nullable=False)
date_posted = db.Column(db.DateTime, default=datetime.utcnow)
def __repr__(self) -> str:
return f"{self.name} = {self.email}"
@app.route("/")
def test():
return "<h1>This is test message<\h1>"
if __name__ == "__main__":
app.run()
users/home.py
from flask import Blueprint, render_template, request
from app import contactform
from app import db
bp = Blueprint("bp", __name__, static_folder="static",
template_folder="templates")
@bp.route("/")
def user():
return render_template("home.html")
@bp.route("/contact", methods=['POST', 'GET'])
def contact():
if request.method == "POST":
name = request.form['name']
email = request.form['email']
subject = request.form['subject']
message = request.form['message']
instance = contactform(name=name, email=email,
subject=subject, message=message)
db.session.add(instance)
db.session.commit()
return render_template("contact.html")
*I tried changing the file same file name Import users.home, home from users.home import bp from users. home import * Still module not imported and showing an error that
ImportError: cannot import name 'bp' from partially initialized module 'users.home' (most likely due to a circular import) (C:\Users\MUHAMMAD\PycharmProjects\QASystem\users\home.py)?*