A Postgres-Flask-Jinja application template with the boilerplate code already done for you.
$ python -V
Python 2.7.13
$ ruby
(No warning will show up, so hit Ctl-c to exit)
$ redis-server
(I didn't figure out config file so there's a warning but it works I think)
$ sass
(Same thing as ruby)
$ postgres (don't type this)
You will either type 'psql' or run it from the start programs to get a postgres server up and running.
If you don't have one of the above, you must download it and create an environment path (Windows) or Homebrew install it (Mac)
$ git clone git@github.com:jfairf01/TemplateWebsite.git
$ cd TemplateWebsite
$ pip install virtualenv
$ virtualenv -p /path/to/python3.x/python.exe env
$ source env/bin/activate (this is optional in windows)
For mac users it will most likely be
$ pip install virtualenv
$ virtualenv -p python3 env
$ source env/bin/activate
Note: if you are using a python2.x version, point the -p value towards your python2.x path
Create a file called config.env
that contains environment variables in the following syntax: ENVIRONMENT_VARIABLE=value
. For example,
the mailing environment variables can be set as the following. We recommend using Sendgrid for a mailing SMTP server. But anything else will work as well.
MAIL_USERNAME=SendgridUsername
MAIL_PASSWORD=SendgridPassword
SECRET_KEY=SuperRandomStringToBeUsedForEncryption
Other Key value pairs:
ADMIN_EMAIL
: set to the default email for your first admin account (default isflask-base-admin@example.com
)ADMIN_PASSWORD
: set to the default password for your first admin account (default ispassword
)DATABASE_URL
: set to a postgresql database url (default isdata-dev.sqlite
) (url = postgrespostgresql://user:password@localhost/location)REDISTOGO_URL
: set to Redis To Go URL or any redis server url (default ishttp://localhost:6379
)RAYGUN_APIKEY
: api key for raygun (default isNone
)FLASK_CONFIG
: can bedevelopment
,production
,default
,heroku
,unix
, ortesting
. Most of the time you will usedevelopment
orproduction
.
Note: do not include the config.env
file in any commits. This should remain private.
$ pip install -r requirements.txt
You need Redis, and Sass. Chances are, these commands will work:
Sass:
$ gem install sass
Redis:
Mac (using homebrew):
$ brew install redis
Linux:
$ sudo apt-get install redis-server
You will also need to install PostgresQL
Mac (using homebrew):
brew install postgresql
Linux (based on this issue):
sudo apt-get install libpq-dev
$ python manage.py recreate_db
$ python manage.py setup_dev
Note that this will create an admin user with email and password specified by the ADMIN_EMAIL
and ADMIN_PASSWORD
config variables. If not specified, they are both flask-base-admin@example.com
and password
respectively.
$ python manage.py add_fake_data
$ source env/bin/activate (optional for windows)
$ honcho start -f Local
For Windows users having issues with binding to a redis port locally, refer to this issue.
Before you submit changes to flask-base, you may want to autoformat your code with python manage.py format
.