http://sheltered-temple-35750.herokuapp.com/login
Flask App (User app)
What is this?
This application includes a User model that is compatible with Flask Login. We've also included a migration script which depends on Flask Migrate
This is a
Flask app that can be deployed to Heroku.
It is based on flask_heroku
It follows the structure from the Flask megatutorial
Prerequisites
It is assumed that you've installed the heroku toolbelt
Instructions
Clone the repo.
git clone git@github.com:info3180/demo_user_app.git
cd flask_app
To clear the git history, remove the .git/ folder
rm -rf .git/
For your convenience, the project ships with a virtualenv script which means you can quickly create a virtual environment using the following commands
python virtualenv.py --no-site-packages venv
source venv/bin/activate
Installing Packages
pip
Then, let's get the requirements installed in your isolated test environment.
$ pip install -r requirements.txt
Running Your Application
Activate your virtualenv
source venv/bin/activate
Now, you can run the application locally.
python run.py
Deploying
If you haven't signed up for Heroku, go
ahead and do that. You should then be able to add your SSH key to
Heroku, and also
heroku login
from the commandline.
Now, to upload your application, you'll first need to do the
following -- and obviously change app_name
to the name of your
application:
heroku create app_name -s cedar
And, then you can push your application up to Heroku.
git push heroku master
heroku scale web=1
Finally, we can make sure the application is up and running.
heroku ps
Now, we can view the application in our web browser.
heroku open
And, to deactivate virtualenv
(once you've finished coding), you
simply run the following command:
deactivate
Next Steps
After you've got your application up and running, there a couple next steps you should consider following.
- Create a new
README.md
file. - Add your Google Analytics ID to the
base.html
template. - Adjust the
author
anddescription
<meta>
tags in thebase.html
template. - Change the
humans.txt
andfavicon.ico
files in thestatic
directory. - Change the
apple-touch
icons in thestatic
directory.
Reactivating the Virtual Environment
If you haven't worked with virtualenv
before, you'll need to
reactivate the environment everytime you close or reload your terminal.
$ source venv/bin/activate
If you don't reactivate the environment, then you'll probably receive a screen full of errors when trying to run the application locally.
Adding Requirements
In the course of creating your application, you may find yourself
installing various Python modules with pip
-- in which case you'll
need to update the requirements.txt
file. One way that this can be
done is with pip freeze
.
$ pip freeze > requirements.txt
Custom Domains
If your account is verified -- and your credit card is on file -- you can also easily add a custom domain to your application.
$ heroku addons:add custom_domains
$ heroku domains:add www.mydomainname.com
You can add a naked domain name, too.
$ heroku domains:add mydomainname.com
Lastly, add the following A records to your DNS management tool.
75.101.163.44
75.101.145.87
174.129.212.2