Monday, 21 January 2019

Running flask as package in production

I am trying to deploy my flask app. Usually I would have an app.py and put all code in it.

app.py
templates/
|
|--index.html

for my really small projects. But then I have a slightly larger app and follow the larger app guide by flask. So I have this:

setup.py
app/
    __init__.py
    views.py
    models.py
    forms.py
    templates/
    | ---index.html

I now have all my routes and views in views.py and running the app in __init__.py:

from flask import Flask
app = Flask(__name__)
import app.views # Name in setup.py
if __name__ == "__main__":
    app.run()

(This is just an example) So now I follow the guide by running it with pip install -e . and running with: >set FLASK_APP=app(name I set in setup.py) flask run and it works. Except I do not know how to run it with one command. Since there is no one file to run I can not use gunicorn or anything like that. I am not sure how to go about executing this app. How would I run pip install . on the cloud server heroku? My problem is because I have to import the app from __init__.py and views using import blog.[insert import] (models, views etc.) Any help is appreciated. Thank you.

EDIT: I do not want to use blueprints though. That might be too much. My app is medium, not small but not large either



from Running flask as package in production

No comments:

Post a Comment