Разверните приложение Flask с помощью gunicorn (exploreflask tuto) - PullRequest
0 голосов
/ 06 июня 2019

Чтобы понять, как развернуть приложение Flask, я прочитал несколько статей и нашел один из exploreflask довольно хорошим.

Я использовал функциональную структуру blueprints для создания своего тестового приложения, НО в конце, в части развертывания с приложением, таким как gunicorn, tuto использует пример с одним уникальным файлом, совсем не похожим на остальные

arandomfoldername/
    config.py
    requirements.txt
    run.py
    instance/
      config.py
    myappname/
        __init__.py
        static/
        templates/
            home/
            control/
        views/
            __init__.py
            home.py
            control.py
        models.py

И

# myappname/__init__.py
from flask import Flask
from .views.home import bluehome 
from .views.control import bluecontrol 

app = Flask(__name__, instance_relative_config=True)
app.register_blueprint(bluehome)
app.register_blueprint(bluecontrol)

Итак, я попытался gunicorn myappname:app, но получил No module named myappname, переменная app находится в __init_.py в пакете myappname (как показано в tuto в части чертежей)

Я использовал эту колбу Туто для создания файла колеса

  1. Как это исправить и исправить?

  2. Как параметры, указанные в верхнем файле config.py, должны использоваться, поскольку они не используются в файле wheel?

1 Ответ

0 голосов
/ 12 июня 2019

В некоторых tutos, таких как flask.pocoo, говорится, что нужно создать файл колеса и установить его, но Gunicorn не использует этот способ.

  • используйте Factory pattern
  • используйте файл с именем ex wsgi.py, чтобы импортировать app с завода

Затем скопируйте всю папку в рабочей среде:

arandomfoldername/
    config.py
    requirements.txt
    run.py
    instance/
      config.py
    myappname/
        __init__.py
        wsgi.py
        static/
        templates/
            home/
            control/
        views/
            __init__.py
            home.py
            control.py
        models.py

А потом

cd arandomfoldername
gunicorn myappname.wsgi:app
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...