Sugardough is not activelly maintained and packages are out of date and insecure.
Sugardough is a web application template based on Django. Sugardough is built using Cookiecutter.
Features:
- Django settings with environment variables, using Decouple
- Jinja2 template engine
- Whitenoise
- Docker ready, plus Docker Compose support.
- Sane Flake8 configuration.
- NewRelic ready.
- Travis-CI ready.
- Coveralls ready.
- Sphinx support and ReadTheDocs ready.
- peep ready.
- session-csrf included.
-
Get cookiecutter:
$ pip install cookiecutter
-
Run cookiecutter with sugardough template
$ cookiecutter https://github.com/mozilla/sugardough
-
Done!
To contribute to sugardough development:
-
Clone this repository
-
Create a virtualenv.
-
Install development requirements using pip:
$ pip install -r requirements.txt
-
Update the template directory, and cookiecutter.json as well with new variables if needed.
-
Run the regeneration script that auto-creates a test site:
$ ./bin/regenerate.py
-
Launch the test site to see your changes:
$ cd test_project/sugardough $ docker-compose up
-
Git commit changes.
-
Pull request!
The regenerate.py
command can also watch for changes and auto-regenerate the
test project:
$ ./bin/regenerate.py --watch
If you want the test project to use a different value for a variable than the
default defined in cookiecutter.json
, add the value to your
~/.cookiecutterrc
file:
default_context:
project_name: "Foo Bar"
-
If you want to change the rules for PEP8, go and edit the
setup.cfg
file. -
If you want to use MySQL instead of PostgreSQL (which is default), edit the generated
requirements.txt
file and remove the lines aboutpsycopg2
then usepeep
to add the version ofMySQL-python
you want to use. You will also need to edit the.travis.yml
file accordingly. -
if you want to use pytest add in requirements.txt
pytest
,py
,cov-core
andpytest-django
. For test coverage you'll also have to addpytest-cov
. Next you'll need to edit the.travis.yml
file and edit the script part. Instead ofcoverage run manage.py test
itpy.test --cov=sugardough
. -
Dockerfile uses Python 3. If you want Python 2 change the following line
apt-get install -y --no-install-recommends build-essential python3 python3-dev python3-pip \
to
apt-get install -y --no-install-recommends build-essential python python-dev python-pip
and remove the next two lines starting with
RUN update-alternatives
.
Sugardough itself is licensed under the Apache 2 license. See the LICENSE file in this repository for the full text of the license. The website projects produced using sugardough use the Mozilla Public License version 2 by default.