Любая помощь будет оценена по достоинству. Я включил несколько изображений проекта.
Ошибка: при импорте «main» возникла ошибка ImportError:
Traceback (последний последний вызов):
Файл
"/Users/x/Sites/learning/python/flask/venv/lib/python3.9/site-packages/flask/cli .py", строка 218, в Location_app
import(имя_модуля)
Файл "/Users/x/Sites/learning/python/flask/ main.py", строка 1, из файла приложения импорта приложения "/Users/x/Sites/learning/python/flask/application/init.py", строка
4, в
из маршрутов импорта приложений
Файл «/Users/x/Sites/learning/python/flask/application/routes.py», строка 1, в
из приложение импорта приложения, db
Ошибка импорта: невозможно импортировать имя «приложение» из частично инициализированного модуля «приложение» (скорее всего, из-за
циклического импорта) >
(/Users/x/Sites/learning/python/flask/application/init.py)
Вот несколько скриншотов проекта:

Установленные пакеты:

< /p>
main.py
from application import app
init.py
from flask import Flask
from config import Config
from flask_mongoengine import MongoEngine
from application import routes
db = MongoEngine()
app = Flask(__name__)
app.config.from_object(Config)
db.init_app(app)
Routes.py
from application import app, db
from flask import render_template, request, Response, json
courseData = [
{"courseID": "1111", "title": "PHP 111", "description": "Intro to PHP", "credits": "3", "term": "Fall, Spring"},
{"courseID": "2222", "title": "Java 1", "description": "Intro to Java Programming", "credits": "4","term": "Spring"},
{"courseID": "3333", "title": "Adv PHP 201", "description": "Advanced PHP Programming", "credits": "3", "term": "Fall"},
{"courseID": "4444", "title": "Angular 1", "description": "Intro to Angular", "credits": "3","term": "Fall, Spring"},
{"courseID": "5555", "title": "Java 2", "description": "Advanced Java Programming", "credits": "4","term": "Fall"}]
@app.route("/")
@app.route("/index")
def index():
return render_template("index.html", index=True)
@app.route("/login")
def login():
return render_template("login.html", login=True)
@app.route("/enrollment", methods=["GET","POST"])
def enrollment():
id = request.form.get('courseID')
title = request.form['title']
term = request.form.get('term')
return render_template("enrollment.html", enrollment=True, data={"id":id,"title":title,"term":term})
@app.route("/courses")
@app.route("/courses/")
def courses(term="2024"):
return render_template("courses.html", courseData=courseData, courses=True, term=term)
@app.route("/register")
def register():
return render_template("register.html", register=True)
@app.route("/api/")
@app.route("/api/")
def api(idx=None):
if idx is None:
jdata = courseData
else:
jdata = courseData[int(idx)]
return Response(json.dumps(jdata), mimetype="application/json")
class User(db.Document):
user_id = db.IntField(unique=True)
first_name = db.StringField(max_length=50)
last_name = db.StringField(max_length=50)
email = db.StringField(max_length=30)
password = db.StringField(max_length=30)
@app.route("/user")
def user():
User(user_id=1, first_name="x", last_name="x", email="[email protected]", password="pass").save()
User(user_id=2, first_name="Sam", last_name="x", email="[email protected]", password="pass").save()
users = User.objects.all()
return render_template("user.html", users=users)
Подробнее здесь: https://stackoverflow.com/questions/791 ... le-applica