[Python] Flask Application

Discussão em 'Python' iniciado por Stack, Junho 9, 2025.

  1. Stack

    Stack Membro Participativo

    I have started to learn back - end development on Python, specifically in Flask. But always meet new problems

    Project Structure

    |
    |
    -- blog
    | -- templates
    | |
    | -- *html files*
    | -- __init__.py
    | -- DataBase.py
    | -- routes.py
    | -- users.db
    | -- user.sql
    |
    -- run.py


    Inside run.py:

    from blog import app


    if __name__ == '__main__':
    app.run(debug=True)


    *Inside __*init __.py :

    from flask import Flask
    from blog import routes

    app = Flask(__name__)


    Inside DataBase.py :

    import sqlite3


    class DataBase:
    def __init__(self, db, schema):
    self.db = db
    self.schema = schema

    # Connect
    def get_connection(self):
    conn = sqlite3.connect(self.db)
    conn.row_factory = sqlite3.Row
    return conn

    # Initialize
    def init_db(self):
    conn = sqlite3.connect(self.db)
    with open(self.schema, 'r') as s:
    conn.executescript(s.read())

    conn.commit()
    conn.close()

    # Get All Data from database
    def getAllData(self):
    conn = self.get_connection()
    users = conn.execute("""SELECT * FROM users""").fetchall()

    conn.close()
    return users


    Inside routes.py :

    from blog import app
    from DataBase import DataBase
    from flask import render_template

    data = DataBase('users.db', 'user.sql')


    @app.route('/', methods=["GET"])
    @app.route('/home', methods=["GET"])
    def about():
    users = data.getAllData()
    return render_template('home.html', users=users)


    @app.route('/team/<int:user_id>', methods=["GET"])
    def members(user_id):
    if user_id == 1:
    return render_template('mirshod.html')

    elif user_id == 2:
    return "Hello World"


    @app.route('/team', methods=["GET", "POST"])
    def team():
    users = data.getAllData()
    return render_template('home.html', users=users)


    Before re - structuring my project everything was well, but after re - structuring I am getting error when try to run my project

    Try 'python -m flask run --help' for help.

    Error: While importing 'run', an ImportError was raised:

    Traceback (most recent call last):
    File "D:\\flaskMarket\\lib\\site-packages\\flask\\cli.py", line 218, in locate_app
    __import__(module_name)
    File "D:\\fastApiProject\\flaskProject\\run.py", line 1, in \<module\>
    from blog import app
    File "D:\\fastApiProject\\flaskProject\\blog\__init_\_.py", line 2, in \<module\>
    from blog import routes
    File "D:\\fastApiProject\\flaskProject\\blog\\routes.py", line 1, in \<module\>
    from blog import app
    ImportError: cannot import name 'app' from partially initialized module 'blog' (most likely due to a circular import) (D:\\fastApiProject\\flaskProject\\blog\__init_\_.py)

    Process finished with exit code 2

    Continue reading...

Compartilhe esta Página