Я использую шаблон фабрики приложений приложений и встречаю ошибку 404 для всех маршрутов в плане, когда я регистрирую план за пределами create_app () Функция. Однако, когда я перемещаю регистрацию Blueprint внутри функции create_app () , все работает так же, как и ожидалось. Я хочу понять, почему это происходит, и всегда ли регистрация чертежа всегда проводится на фабрике приложений. Lang-Py PrettyPrint-Override ">
Код: Выделить всё
from flask import Flask
def create_app():
app = Flask(__name__)
return app
Код: Выделить всё
app = create_app()
init_db() # Initializes the database
app.register_blueprint(user_bp, url_prefix='/api')
if __name__ == "__main__":
app.run(debug=True)
Код: Выделить всё
from flask import Flask
from .user import user_bp # Importing the blueprint
def create_app():
app = Flask(__name__)
app.register_blueprint(user_bp, url_prefix='/api') # Registering here
return app
Я не понимаю, почему так происходит. Почему регистрация схемы вне create_app() приводит к ошибке 404, а регистрация внутри работает нормально?
Дополнительные сведения:
Проект (user_bp) определен в отдельном модуле и импортирован правильно.
Я использую шаблон фабрики приложений для создания экземпляра приложения.< /p>
При работе приложения ошибок нет. инициализация или регистрация чертежа.
Что мне не хватает? Есть ли конкретная причина, по которой регистрация схемы должна происходить внутри функции create_app()? Будем признательны за любые идеи и лучшие практики!
Подробнее здесь: https://stackoverflow.com/questions/793 ... p-function
Мобильная версия