Планевой флейс приводит к ошибке 404 при регистрации внешней функции create_appPython

Программы на Python
Ответить
Anonymous
 Планевой флейс приводит к ошибке 404 при регистрации внешней функции create_app

Сообщение Anonymous »

Описание
Я использую шаблон фабрики приложений приложений и встречаю ошибку 404 для всех маршрутов в плане, когда я регистрирую план за пределами create_app () Функция. Однако, когда я перемещаю регистрацию Blueprint внутри функции create_app () , все работает так же, как и ожидалось. Я хочу понять, почему это происходит, и всегда ли регистрация чертежа всегда проводится на фабрике приложений. Lang-Py PrettyPrint-Override ">

Код: Выделить всё

from flask import Flask

def create_app():
app = Flask(__name__)
return app
in main.py , я создаю приложение и регистрирую план, как это:

Код: Выделить всё

app = create_app()

init_db()  # Initializes the database

app.register_blueprint(user_bp, url_prefix='/api')

if __name__ == "__main__":
app.run(debug=True)
Когда я запускаю приложение, я получаю ошибку 404 для всех маршрутов, определенных в схеме user_bp. Однако, если я перенесу регистрацию проекта в функцию create_app в __init__.py, например:

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»