Django starter styled with Black Dashboard, an open-source Bootstrap
Design from Creative-Tim.
The product is designed to deliver the best possible user experience with highly customizable feature-rich pages.
- 👉 Django Black Dashboard -
Product page
- 👉 Django Black Dashboard -
LIVE Demo
- 🚀 Support via
Email
&Discord
- ✅
Up-to-date Dependencies
- ✅
Design
: [Django Theme Black] -Free Version
- ✅
Sections
covered by the design:- ✅ Admin section (reserved for superusers)
- ✅ Authentication:
Django.contrib.AUTH
, Registration - ✅ All Pages available in for ordinary users
- ✅
Docker
- 🚀
Deployment
CI/CD
flow viaRender
👉 Download the code
$ git clone https://github.com/Superdev-Kevin/Python-Django-Dashboard-Project.git
$ cd django-black-dashboard
👉 Install modules via
VENV
.
$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt
👉 Edit the
.env
using the template.env.sample
.
# True for development, False for production
DEBUG=True
👉 Set Up Database
$ python manage.py makemigrations
$ python manage.py migrate
👉 Create the Superuser
$ python manage.py createsuperuser
👉 Start the app
$ python manage.py runserver
At this point, the app runs at http://127.0.0.1:8000/
.
The project is coded using a simple and intuitive structure presented below:
< PROJECT ROOT >
|
|-- core/
| |-- settings.py # Project Configuration
| |-- urls.py # Project Routing
|
|-- home/
| |-- views.py # APP Views
| |-- urls.py # APP Routing
| |-- models.py # APP Models
| |-- tests.py # Tests
|
|-- requirements.txt # Project Dependencies
|
|-- env.sample # ENV Configuration (default values)
|-- manage.py # Start the app - Django default start script
|
|-- ************************************************************************
When a template file is loaded in the controller, Django
scans all template directories starting from the ones defined by the user, and returns the first match or an error in case the template is not found.
The theme used to style this starter provides the following files:
# This exists in ENV: LIB/admin_black
< UI_LIBRARY_ROOT >
|
|-- templates/ # Root Templates Folder
| |
| |-- accounts/
| | |-- auth-signin.html # Sign IN Page
| | |-- auth-signup.html # Sign UP Page
| |
| |-- includes/
| | |-- footer.html # Footer component
| | |-- sidebar.html # Sidebar component
| | |-- navigation.html # Navigation Bar
| | |-- scripts.html # Scripts Component
| |
| |-- layouts/
| | |-- base.html # Masterpage
| |
| |-- pages/
| |-- dashboard.html # Dashboard page
| |-- user.html # Settings Page
| |-- *.html # All other pages
|
|-- ************************************************************************
When the project requires customization, we need to copy the original file that needs an update (from the virtual environment) and place it in the template folder using the same path.
For instance, if we want to customize the dashboard.html these are the steps:
- ✅
Step 1
: create thetemplates
DIRECTORY inside theROOT
directory - ✅
Step 2
: configure the project to use this new template directorycore/settings.py
TEMPLATES section
- ✅
Step 3
: copy thedashboard.html
from the original location (inside your ENV) and save it to thetemplates
DIR- Source PATH:
<YOUR_ENV>/LIB/admin_black_pro/pages/dashboard.html
- Destination PATH:
<PROJECT_ROOT>templates/pages/dashboard.html
- Source PATH:
To speed up all these steps, the codebase is already configured (
Steps 1, and 2
) and acustom dashboard
can be found at this location:
templates/pages/custom-dashboard.html
By default, this file is unused because the theme
expects dashboard.html
(without the custom-
prefix).
In order to use it, simply rename it to dashboard.html
. Like this, the default version shipped in the library is ignored by Django.
In a similar way, all other files and components can be customized easily.
The SCSS/CSS files used to style the Ui are saved in the static/assets
directory.
In order to update the Ui colors (primary, secondary) this procedure needs to be followed.
$ yarn # install modules
$ # # edit variables
$ vi static/assets/scss/black-dashboard/custom/_variables.scss
$ gulp # SCSS to CSS translation
The _variables.scss
content defines the primary
and secondary
colors:
$default: #344675 !default; // EDIT for customization
$primary: #e14eca !default; // EDIT for customization
$secondary: #f4f5f7 !default; // EDIT for customization
$success: #00f2c3 !default; // EDIT for customization
$info: #1d8cf8 !default; // EDIT for customization
$warning: #ff8d72 !default; // EDIT for customization
$danger: #fd5d93 !default; // EDIT for customization
$black: #222a42 !default; // EDIT for customization
Deploy on Render
- Create a Blueprint instance
- Go to https://dashboard.render.com/blueprints this link.
- Click
New Blueprint Instance
button. - Connect your
repo
which you want to deploy. - Fill the
Service Group Name
and click onUpdate Existing Resources
button. - After that your deployment will start automatically.
At this point, the product should be LIVE.
Django Black Dashboard - Django starter provided by AppSeed