A Flask skeleton for Google App Engine, using html5 boilerplate templating.
EE
EtjK
EtjG
f EjfLE
### ## EffLGE KEKKE
######### ### ## ELLLGDK:.:::::K
## # ## # ELLLG,,:::LLt:,K
## ## # ELL:,,.:,Ltfjt::.
## ## # EG,,,:.:i,itttt:K
## ## # E,,,,.:;;:;.ttt::
## # ## #### #### # ##### E,,,,,,:LLL.i;tt,,
###### ## ## .# # #. # ## E,,,,,,::LLti,:tti,
## # ## t # ## # # K,,,,,,::GGGGiitti,.
## ## # ###. # ## EKKKKE,,:GGG,,,tt,,
## ## L## # ### ## ## EEjtjLtGD:::ff;itttt,:KE
## ## ## # ## # ##; EDLLfiDDDDD,,::t:,;itt,DGGE
## ## ## # :# ## #. ##. ,jtffLGGEE;,,,,,ittftt,,GGDf
####i f### ######## ##### ###K ###L KELDEK Eii,,,,,,,jtt,,EGj
Kj,,,,,,,,,,:E
ED:,,,,,,ED
jEKEt
github.com/zachwill/flask-engine
###V1.0.3
Flask Engine
git remote set-url upstream https://github.com/zachwill/flask-engine
Sorry about any headaches this causes, but the name gae-flask-html5
had become
a little too verbose. You can still git pull upstream
from any changes/updates
I make – just make sure you either git remote set-url
or do the following:
git remote rm upstream
and then git remote add upstream https://github.com/zachwill/flask-engine
.
###V1.0.2
views.py
file.###V1.0.1
werkzeug_debugger_appengine
submodule.from_address
variable in views.py
dev_appserver.py --enable_sendmail .
command.test.py
file for running unittest. Deleted gaeunit.py
.
tests
directory.testbed
functionality.It’s just a simple Flask skeleton for
Google App Engine,
but made with all the baked-in-goodness of
html5 boilerplate.
I’m planning on using this for my GAE projects going forward (I really
like the speed of Flask compared to
Django-Nonrel
on GAE), so I thought someone else might find it useful, too.
Just about everything is ready to go right out of the box – including
QUnit
for JavaScript tests and a tests
directory for Python’s unittest
.
Also, I included a style.less
file since I primarily only use the
Less.app when writing stylesheets nowadays.
I stumbled a bit figuring out how to add tests and use the unittest
module,
and also setup an appengine_console.py
file to connect to GAE’s remote API,
so this skeleton might come in handy for you.
I looked at two other Flask GAE skeletons on Github
(flask-gae-skeleton
and flask-gae-template
– both of which were awesome for learning), and I adapted what
I felt were some of their best parts. Recently, I’ve updated this project’s
structure after browsing the source code of
another GAE project skeleton.
Lastly, as an added bonus, the scripts are PEP8 compliant.
Make sure you have the Google App Engine SDK
installed on your computer, and you’ve created an application for your
Google account. The SDK will also install symlinks to its packages on your
computer.
Create a new application on Google App Engine.
git clone
this repo into your personal project folder.
Amend the app.yaml
file with your application’s name.
Run the project from your development server (use the dev_appserver.py .
command or use the Google App Engine Launcher GUI).
Browse the sample application in your web browser: http://localhost:8080
Once you’re ready to read the source code, check out the app
directory.
All static media is stored in the static
directory.
robots.txt
, and humans.txt
Before you deploy, don’t forget to:
humans.txt
file.default_expiration
in app.yaml
SECRET_KEY
in settings.py
using Python’s os.urandom
function.>>> import os >>> os.urandom(24) '\xfd{H\xe5<\x95\xf9\xe3\x96.5\xd1\x01O
Useful Commands
Setup
git clone https://github.com/zachwill/flask-engine.git <your_app_name_here>
Run
dev_appserver.py .
If you’re planning on using email functionality with the development server,
use the following command:dev_appserver.py --enable_sendmail .
Deploy
appcfg.py update .
Test
Tests are written using GAE v1.4.3’s
testbed
functionality. Currently, there
is a known bug for users withoutPIL
installed.python test.py
Remote Console
python appengine_console.py <your_app_name_here>
Todo
Author: Zach Williams
All of my code is released under the Unlicense (a.k.a.
Public Domain).