Ошибка сервера при развертывании Flask приложения в Heroku - TypeError: create_app () принимает от 0 до 1 позиционных аргументов, но было дано 2 - PullRequest
0 голосов
/ 20 июня 2020

Это приложение взято из Flask Руководства по документации и отлично работает локально, но при развертывании на Heroku я получаю «Внутреннюю ошибку сервера», когда я go перехожу на развернутую веб-страницу.

Из журналов Heroku:

respiter = self.wsgi(environ, resp.start_response)
TypeError: create_app() takes from 0 to 1 positional arguments but 2 were given
"GET /favicon.ico HTTP/1.1" 500 0 "-" "-"

И фрагмент из рассматриваемой функции create_app, расположенный в файле init .py (большая часть структуры проекта и другой код, взятый для краткости) :

# ├── flaskr/
# │   ├── __init__.py
# │   ├── db.py
# │   ├── schema.sql
# │   ├── auth.py
# ├── setup.py
# ├── Procfile
import os

from flask import Flask
def create_app(test_config=None):
  app = Flask(__name__, instance_relative_config=True)
  app.config.from_mapping(
    DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'),
  )

  # other python files imported
  return app

Это Procfile

web: gunicorn flaskr:create_app

Я предполагаю, что проблема в том, что Heroku пытается передать два аргумента в app = Flask (), и если да, то я не знаю, как обойти это в коде.

...