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 --watchIf 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.cfgfile. -
If you want to use MySQL instead of PostgreSQL (which is default), edit the generated
requirements.txtfile and remove the lines aboutpsycopg2then usepeepto add the version ofMySQL-pythonyou want to use. You will also need to edit the.travis.ymlfile accordingly. -
if you want to use pytest add in requirements.txt
pytest,py,cov-coreandpytest-django. For test coverage you'll also have to addpytest-cov. Next you'll need to edit the.travis.ymlfile and edit the script part. Instead ofcoverage run manage.py testitpy.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.