Django Cookie-Cutter – Simple Theme-able Generator

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, Coo…


This content originally appeared on DEV Community and was authored by Sm0ke

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.

Django Cookie-Cutter - Sample Projects.

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.

Django Cookie-Cutter - Generated 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 - Login Page

Django Cookie-Cutter Volt - Dashboard Page

Django Cookie-Cutter - 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

Django Cookie-Cutter - Soft UI.

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

Django Cookie-Cutter - Datta Able.

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:


This content originally appeared on DEV Community and was authored by Sm0ke


Print Share Comment Cite Upload Translate Updates
APA

Sm0ke | Sciencx (2021-09-04T09:50:47+00:00) Django Cookie-Cutter – Simple Theme-able Generator. Retrieved from https://www.scien.cx/2021/09/04/django-cookie-cutter-simple-theme-able-generator/

MLA
" » Django Cookie-Cutter – Simple Theme-able Generator." Sm0ke | Sciencx - Saturday September 4, 2021, https://www.scien.cx/2021/09/04/django-cookie-cutter-simple-theme-able-generator/
HARVARD
Sm0ke | Sciencx Saturday September 4, 2021 » Django Cookie-Cutter – Simple Theme-able Generator., viewed ,<https://www.scien.cx/2021/09/04/django-cookie-cutter-simple-theme-able-generator/>
VANCOUVER
Sm0ke | Sciencx - » Django Cookie-Cutter – Simple Theme-able Generator. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/09/04/django-cookie-cutter-simple-theme-able-generator/
CHICAGO
" » Django Cookie-Cutter – Simple Theme-able Generator." Sm0ke | Sciencx - Accessed . https://www.scien.cx/2021/09/04/django-cookie-cutter-simple-theme-able-generator/
IEEE
" » Django Cookie-Cutter – Simple Theme-able Generator." Sm0ke | Sciencx [Online]. Available: https://www.scien.cx/2021/09/04/django-cookie-cutter-simple-theme-able-generator/. [Accessed: ]
rf:citation
» Django Cookie-Cutter – Simple Theme-able Generator | Sm0ke | Sciencx | https://www.scien.cx/2021/09/04/django-cookie-cutter-simple-theme-able-generator/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.