Облачная консоль Google - Flask - main.py против пакета - PullRequest
1 голос
/ 21 марта 2019

ОК, поэтому я прошел некоторые уроки по установке приложения фляги в облако Google, и это нормально.

Я также прошел урок по фляге для создания блога фляги: http://flask.pocoo.org/docs/1.0/tutorial/

Мне пришло в голову, что разумно было бы создать базу данных (MySQL в mycase) в Google, а затем изменить код, чтобы он использовал его.Это нормально, и я могу заставить его работать на моем локальном компьютере.

Однако теперь, когда я приступаю к его развертыванию, я столкнулся с проблемой.

Учебники по облачным Google имеют тенденцию киспользуйте приложение фляги, которое инициируется в одном файле, например main.py, например:

from flask import Flask, render_template

app = Flask(__name__)
....

В упомянутом выше руководстве по фляге используется пакет и помещается код для create_app () в файл __init__.pyи в настоящее время я не могу заставить это начать таким же образом.(см. пример кода).

from flask import Flask

def create_app(test_config=None):
    # create and configure the app
    app = Flask(__name__, instance_relative_config=True)
    app.config.from_mapping(
        SECRET_KEY='dev'
    )

Есть ли какие-то изменения, которые мне нужно внести в файл типа app.yaml, чтобы он распознавал флешку как пакет flaskr, или мне нужно переписать весьтак, чтобы он использовал файл main.py?

Я чувствую, что это один из моментов времени, когда я действительно могу подхватить вредную привычку.Какой вообще предпочтительный способ написания приложений для фляг в облаке Google?

Я использую стандартную среду в Google.

Спасибо за ваш совет.

Отметьте

1 Ответ

2 голосов
/ 22 марта 2019

Поскольку у вас есть фабрика приложений, вы можете создать приложение где угодно.Просто создайте его в main.py, так как App Engine ожидает:

from my_package import create_app

app = create_app()
...