Your project was created
Contratulations, you created a brand new django-zero project. It's basically a standard django project with superpowers.
Getting started
$ cd /path/to/your/project
Before the project is ready, you need to install some dependencies, including JavaScript dependencies.
$ django-zero install
It will use yarn
to install javascript dependencies both in django-zero
package and in your project.
Install python dependencies and run django migrations:
$ make install-dev
$ django-zero manage migrate
To start the django development server, run:
$ django-zero start
Or alternativelly:
$ make
Directory structure
As a default, django-zero projects contains the following directory structure:
Apps
This is an empty directory ready to welcome your project-specific django applications. You can create a new application running:
$ django-zero create app hello
Config
This contains all configuration-related files. Most importantly, you'll find here:
settings.py
: your django settingsurls.py
: your root urls configurationjinja2.py
: your jinja2 environmentwsgi.py
: your wsgi applicationwebpack.js
: your webpack build configuration
All those files import their defaults from django-zero. You can override whatever you feel to, but you won't repeat yourself when it comes to reasonable defaults.
Resources
This contains all the non-python code and assets that are global to your project.
assets
: your source scripts (ES6 out of the box) and styles (SASS out of the box)jinja2
: your jinja2 templatesstatic
: your static filestemplates
: your DTL templates
Each app will have an optional resources
directory that can contains the same subdirectories, so don't feel like
you have to make it global. It's just there so things that does not really belongs to an app can find a place to live.
What next?
A project is great, but your django code should usually mostly live in applications.
Already a pro?