Hello Coders!
This article presets Django Cookie-Cutter as a simple way to build a Django project with less manual coding and the possibility to customize a few things like UI design and database type (SQLite, MySql, or PostgreSQL). For newcomers, CookieCutter is a command-line utility that creates projects from project templates and Django is a leading web framework built by experts using a batteries-included concept.
Thanks for reading! - Content provided by App Generator.
What's in the box
Using the Django Cookie-Cutter tool any developer can generate simple Django projects like the ones listed below with customized design and database backends plus minor things like project name and README instructions.
- (free) Django Soft UI - simple Django dashboard with Soft UI design
- (free) Django Volt - a modern dashboard with Bootstrap 5 design
- (free) Django Datta Able - open-source colorful dashboard
How to use it
To use this simple generator a minimal programming kit should be installed in the workstation starting with Python3 and GIT:
- Python - a modern script language used for many types of projects
- GIT - a command-line tool used to download sources from Github
- A modern editor like VSCode, Atom, or even Notepad++
Once we have all the tools properly installed, we can move on and build a Django project.
Step #1 - Install dependencies (cookie-cutter and GitPython)
$ pip install cookiecutter
$ pip install GitPython
The above command uses PIP, the official package manager for Python, to install required modules globally in the system. The recommended way to install packages is to use a virtual environment that isolates the installation as shown below:
$ # Virtualenv modules installation (Unix based systems)
$ virtualenv env
$ source env/bin/activate
$
$ # Install modules
$ pip install cookiecutter
$ pip install GitPython
Step #2 - Generate the project
$ cookiecutter https://github.com/app-generator/cookiecutter-django.git
Step #3 - Customize the future project
Most of the commands provide a default value selectable by an ENTER
.
>>> # Project Name Option
>>> project_name [Django Seed project]: django_volt
>>> # Project Slug is the directory name
>>> project_slug [django_volt]:
>>> # Project Description: saved in the README file
>>> description [A simple Django project]: My Simple Django Project
>>> # Project Author: saved in the README file
>>> author_name []: Sm0ke
>>> # Author Email: saved in the README file
>>> email [bill@microsoft.com]:
>>> Project Version: saved in the README file
>>> version [0.0.1]:
>>> UI Kit: (Volt default option)
>>> Select theme:
1 - volt
2 - soft-ui
3 - datta-able
>>> Database: (SQLite default option)
Select database:
1 - sqlite3
2 - mysql
3 - postgresql
>>> Database Credentials: Used to configure the connection
>>> database_name [appseed_django]: db_name
>>> database_user [appseed_user]: db_user
>>> database_pass [Pass1234]: SuperS3cret_Hgdv
In the end, the UI is downloaded from a public repository and injected into the codebase. Let's open the generated directory django_volt
and visualize the codebase.
Item #1 is the project README customized to explain how to build the project according to the selected options (database, project name...).
Item #2 - applications that provide basic features like authentication, forms validation, and UI Theme integration.
The next logical step is to follow the build instructions presented in the README file and start the generated project:
Step #1 - Create a virtual environment
$ # Virtualenv modules installation (Unix based systems)
$ virtualenv env
$ source env/bin/activate
Step #2 - Install project dependencies
$ # Install modules
$ pip3 install -r requirements.txt
Step #3 - Set up the database (create tables)
$ python manage.py makemigrations
$ python manage.py migrate
Step #4 - Start the generated Django project
$ # Start the application (development mode)
$ python manage.py runserver
$
$ # Access the web app in the browser: http://127.0.0.1:8000/
The project should look like the original Volt Dashboard (demo link) and the log in page is shown by default for guest users. Once we create a new user and Sign IN, the access to the private pages is unlocked.
Django Cookie-Cutter Volt - Dashboard Page
In the same way, we can build more Django projects but using different UI kits without coding anything.
Soft UI - A modern Bootstrap 5 design
Designed for those who like bold elements and beautiful websites, Soft UI Dashboard is ready to help you create stunning websites and web apps. Soft UI Dashboard is built with over 70 frontend individual elements, like buttons, inputs, navbars, nav tabs, cards, or alerts, giving you the freedom of choosing and combining.
Django Soft UI Dashboard - LIVE Demo
Datta Able - a colorful dashboard
Datta Able Bootstrap Lite is the most stylized Bootstrap 4 Lite Admin Template, around all other Lite/Free admin templates in the market. It comes with high feature-rich pages and components with fully developer-centric code.
Datta Able Django - LIVE deployment
The Django Cookie-Cutter tool will be updated with more options (deployment), UI Themes, and more featured bundled in the codebase.
- New themes: CoreUI, AdminLTE (popular open-source templates)
- Deployment: AWS, Google Cloud, HEROKU, Docker
- Modules: Data tables, Charts, Stripe Payments
The full list with future evolutions can be found here: Django Codebase SPECS.
Thanks for reading! For more resources, please access:
- More Django Dashboards built with modern UI kits
- Open-source Admin Dashboards - curated index provided by AppSeed
- Free React Dashboards - a popular article published on Dev.to
Top comments (4)
Nice tool! Keep posting.
Ty! ππ
Soft looks great. Thanks for sharing.
P.S.
GitPython
is definitely something that I need in my development.Hello & Thanks for stopping by!
First time I'm using
GitPython
and looks like a comple wrapper over GIT.ππ