Introduction
Modern & Responsive Django Bootstrap 5 Admin Template for All Your Web Projects
Vexa Django is a premium Bootstrap 5 Admin Template that combines modern and minimal design with full flexibility and responsiveness. It’s crafted using HTML5,CSS3, and Bootstrap 5, offering seamless customization with SASS integration. Whether you’re building a web application, admin dashboard, or project management platform, this template ensures your site stands out with ease.
Support and Updates:
When you purchase Vexa, you gain access to free future updates to ensure your template remains up-to-date. Plus, our support team is always ready to assist with any questions.
Dependencies for Vexa
- asgiref==3.11.0
- beautifulsoup4==4.14.3
- Django==6.0.1
- django-htmlmin==0.11.0
- html5lib==1.1
- six==1.17.0
- soupsieve==2.8.3
- sqlparse==0.5.5
- typing_extensions==4.15.0
- tzdata==2025.3
- webencodings==0.5.1
- Bootstrap v5.3.8
- Sass
- Gulp v5.0.0
- Node : 24.4.0
- NPM : 11.4.2
What Do You Get with the Vexa:
Vexa provides all necessary HTML, CSS, SCSS, JS files, along with detailed Documentation to help you easily customize and implement the template.
Vexa Compatibility with Popular Browsers:
Vexa is fully compatible with major browsers, ensuring a seamless user experience across Chrome, Firefox, Safari, Edge, and Opera.
Folder Structure
Main Base file Structure
Main Base file structure of the Vexa template. Root:app/templates/components/base.html
The base.html file serves as the base file for all HTML pages in the Vexa template.
html
{% load static %}
<!DOCTYPE html>
<html lang="en" dir="ltr" data-nav-layout="vertical" data-theme-mode="light" data-header-styles="light" data-menu-styles="dark" data-toggled="close">
<head>
<!-- Meta Data -->
<meta charset="UTF-8">
<meta name='viewport' content='width=device-width, initial-scale=1.0, user-scalable=no'>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title> Vexa - Django Bootstrap 5 Premium Admin & Dashboard Template </title>
<meta name="Description" content="Vexa - Django Bootstrap Responsive Admin Web Dashboard Template">
<meta name="Author" content="Spruko Technologies Private Limited">
<meta name="keywords" content="admin bootstrap dashboard, admin dashboard bootstrap, admin dashboard ui, admin panel bootstrap template, admin panel django, admin panel template, bootstrap dashboard, bootstrap template for admin, bootstrap template for django, dashboard bootstrap template, django admin panel template, django admin template, django bootstrap template, django dashboard, django ui framework.">
<!-- Favicon -->
<link rel="icon" href="{% static 'assets/images/brand-logos/favicon.ico'%}" type="image/x-icon">
<!-- Start::styles -->
{% include 'components/layouts/styles.html' %}
{% block styles %}{% endblock %}
<!-- End::styles -->
</head>
<body class="">
<!-- Start::main-switcher -->
{% include 'components/layouts/switcher.html' %}
<!-- End::main-switcher -->
<!-- Loader -->
<div id="loader" >
<img src="{% static 'assets/images/media/loader.svg'%}" alt="">
</div>
<!-- Loader -->
<div class="page">
<!-- Start::main-header -->
{% include 'components/layouts/main-header.html' %}
<!-- End::main-header -->
<!-- Start::main-sidebar -->
{% include 'components/layouts/main-sidebar.html' %}
<!-- End::main-sidebar -->
<!-- Start::app-content -->
<div class="main-content app-content">
{% block content %}{% endblock %}
</div>
<!-- End::app-content -->
<!-- Start::main-modal -->
{% include 'components/layouts/modal.html' %}
<!-- End::main-modal -->
<!-- Start::main-footer -->
{% include 'components/layouts/footer.html' %}
<!-- End::main-footer -->
</div>
<!-- End:Page-->
<!-- Start::scripts -->
{% include 'components/layouts/scripts.html' %}
{% block scripts %}{% endblock %}
<!-- End::scripts -->
<!-- Sticky JS -->
<script src="{% static 'assets/js/sticky.js'%}"></script>
<!-- Defaultmenu JS -->
<script src="{% static 'assets/js/defaultmenu.min.js'%}"></script>
<!-- Custom-Switcher JS -->
<script src="{% static 'assets/js/custom-switcher.min.js'%}"></script>
<!-- Custom JS -->
<script src="{% static 'assets/js/custom.js'%}"></script>
</body>
</html>
1. To ensure consistency across all pages, use the base file as the base layout for each HTML page. This allows for central management of shared elements like headers, footers, and navigation. To achieve this, include the following code at the top of each HTML file:
code
{% extends 'components/base.html' %}
HTML Page View Code (for example, the HTML "example.html" file code)
code
{% extends 'components/base.html' %}
{% load static %}
{% block styles %}
{% endblock %}
{% block content %}
{% endblock %}
{% block scripts %}
{% endblock %}
- First, unzip the project folder that you received from us.
- Navigate as shown Example: F:\project folder\app\templates in that template folder will have 174+ html pages.
- Navigate as shown Example: F:\project folder\app\templates\ Open components folder there you will find base.html, custom-base.html, landing-base.html, landing-jobs-base.html files.
- Navigate as shown Example: F:\project folder\app\templates\components\layouts Open layouts folder there you will find footer.html, main-header.html, main-sidebar.html, modal,html, scripts.html, styles.html, and switcher.html files etc..
- Here base.html file is the base file for all the html pages.
- Here custom-base.html file is the base file for all custom pages ex: sign-in-basic.html, sign-up-cover.html, error404.html, error500.html, comingsoon.html, create-password-cover.html and create-password-basic.html etc..,
- Here landing-base.html file is the base file for only landing page ex: landing.html
- Here landing-jobs-base.html file is the base file for only landing jobs page ex: landing.html
Installation Process of Python
In order to run Django you need to install Python by the following steps
This steps are based on Windows OS
Step1: Please visite the Official Web Site of the Python python.org
Step2: Click on the Download Python button
Step3: Now your Python setup file has downloaded
Step4: Now Right click on the Python setup file and select Run as administrator click on Yes
Step5: Please click on the Check Box Add Python to PATH. And select Customize installation option
Step6: Click on Install for all users. And click on the Install button to install python on your system
Step7: To check whether Python is installed or not type in your terminal or console
code
python --version
Step8: The pip package is automatically installed with your python installation
Step9: To check whether pip package is installed or not type in your terminal or console
code
pip --version
NOTE: Please follow the official web site python.org to install on Linux/UNIX OS.
How to Run Django Project in Localhost
1. Extract the zip folder of the Django project in the path: EX: C:\Users\ADMIN01\ that you have received after purchase.
2. Another process for accessing the Django project is to open the command prompt or terminal and set your project root path: Example: C:\Users\ADMIN01\
3. To create Virtualenv type in your terminal or console.
code
python -m venv env
4. Now you need to activate your Virtualenv by typing .
code
env\scripts\activate
5. Now then, in your terminal, type.
code
pip install -r requirements.txt
6. The above command will download all the required packages by using the requirements.txt file.
7. Go to the project root path.
code
cd Vexa
8. Run the command line:
code
python manage.py runserver
8. The Django development server has started at started: http://127.0.0.1:8000/ now type the URL in the browser to access the project.
Purpose of a Starter Kit
Introduction to the Django Starter Kit:
The Django starterkit is a resource that helps developers kickstart their Django web development projects by providing a preconfigured and ready-to-use template. It aims to simplify the initial setup and provide a foundation for building Django Framework-based websites or applications.
Purpose of the Django Starter Kit:
The purpose of the Django starter kit is to save developers time and effort by offering a set of prebuilt files and configurations commonly used in Django projects. Instead of starting from scratch, developers can leverage the starter kit to quickly set up a project structure that adheres to best practices and industry standards.
Benefits of Using the Django Starter Kit:
The starter kit eliminates the need to set up the basic project structure manually. It provides a well-organized file and folder structure, including commonly used directories for separating code, templates, assets, and configuration files. This allows developers to focus more on implementing business logic rather than spending time on initial setup.
Starterkit Overview
You can use the Starterkit if you are creating a new project. It will be time-consuming to use the full admin version for a new project as Vexa have more than 174 pages.
We have provided all the pre-build layouts like Sidemenu, Header, footer and blank pages etc in the Starterkit.
For further information or support regarding the template, please contact us using the provided link: https://support.spruko.com/
- Take a quick look at the folder structure of the "Starterkit."
- Integration of your customized HTML pages becomes easy when using the "Starterkit."
- The "Starterkit" provides all the layout components, related assets, and plugins.
- To explore the contents of the "Starterkit," unzip the project folder received after purchase. Navigate to the following paths:
- Example: C:/projectname/app/templates/components/- This folder contains files such as base.html files.
- Example: C:/projectname/app/templates/components/layouts/- This folder contains files such as main-header.html, main-sidebar.html and footer.html, and switcher.html pages and and etc..,..
- Example: C:/projectname/app/templates/- This folder contains files such as index.html, files and etc..,.
Vexa comes with power of Gulp
Gulp is a popular JavaScript task runner that automates common development tasks, such as compiling Sass to CSS, minifying JavaScript and CSS files, optimizing images, and more. Gulp allows developers to define tasks that process files in a project, and then run those tasks automatically when files are changed or when specific commands are issued.for more information about gulp Check here.
Prerequisites:
To install and set up all the prerequisites, follow these steps:
Ensure that Node.js is installed and running on your computer. If Node.js is already installed, you can skip this step. Otherwise, install it on your computer.
If you want to install and use the latest version of Node.js, you can find the necessary instructions on the official website.
To set up gulp, you need to install it globally on your system. Run one of the following commands in your terminal:
code
npm install -g gulp
code
npm install --save-dev gulpInstallation
Please follow below steps to install and setup all pre requisites:
Make sure to have all above pre requisites installed & running in your computer
Open your terminal, go to your folder and enter below command. This would install all required dependencies in node_modules folder.
code
npm installBuild Production File
After completing the above steps, run the following command from the project root (Vexa/) in your terminal or command prompt:
code
gulpNote:-Ensure all required node_modules are installed to run the gulp tasks successfully.
The following command performs several tasks to streamline your development workflow below are some of the task it performs :
- Generates the
libs/ and CSS/ Foldersdirectory
Versions
- python : 3.13.1
- django : 6.0.1
- pip : 24.3.1
FAQ'S
Step 1:
Go To style.scss (static/assets/scss/styles.scss )
if you want to change another font-family Go to the site Google Fonts And Select One font Family and import in to styles.scss file
How to Select font Family

Step 2:
And paste Your Selected font-family in style.scss

Step 3:
And add the Your Selected font-family in _variables.scss(static/assets/scss/_variables.scss)
code
--default-font-family: "Space Grotesk", sans-serif;Note : After changing the styles, you must run the gulp command "gulp" . For more gulp commands, see the gulp page click here.
By default menu icons are phosphoricons if you want to change To change Menu icons, open main-sidebar.html page Path:app/templates/components/layouts/main-sidebar.html and go through app-sidebar section, in that section you will find phosphoricons of menu in svg tag, there you can replace previous icon with your icon. Example as shown in below
html
html
Go To "static/assets/images/brand-logos" folder and replace
your
logo with Previous Logos within in image size.
note: Please don't increase logo sizes. Replace your logo within
given
image size. otherwise the logo will not fit in particular place it
disturbs the template design.
Note : After changing the styles, you must run the gulp command "gulp" . For more gulp commands, see the gulp page click here.
Step1:
To clear LocalStorage loading functions you need to remove
localStorageBackup2() function in custom-switcher.min.js assets/js/custom-switcher.min.js as shown
below
javascript
function localStorageBackup2() {}Step2:
To remove complete LocalStorage saving you need to remove
all localstorage related calling functions like localStorage.setItem,
localStorage.removeItem, localStorage.getItem,
localStorage.clear in
custom-switcher.min.js
assets/js/custom-switcher.min.jsfile.Below are the some examples to find out.
javascript
localStorage.setItem( );
localStorage.removeItem( );
localStorage.getItem( )
localStorage.clear();
localStorageBackup();Step3:
To remove complete LocalStorage saving you also need to remove
main.js link present in styles.html Path:app/templates/components/layouts/styles.html as shown below
html
<!-- Main Theme Js -->
<script src="{% static 'assets/js/sticky.js'%}"></script>
Step1:
To remove switcher path remove below code shown in base.html app/templates/components/base.html file
code
<!-- Start::main-switcher -->
{% include 'components/layouts/switcher.html' %}
<!-- End::main-switcher -->Step2:
After removing switcher path in base.html page then change main-header to main-header1 for switcher icon code shown below in base.html page
code
Before :
<!-- Start::main-header -->
{% include 'components/layouts/main-header.html' %}
<!-- End::main-header -->
After :
<!-- Start::main-header -->
{% include 'components/layouts/main-header1.html' %}
<!-- End::main-header -->Step3:
Go to root path: app/templates/components/base.html open "base.html" file and then remove the"custom-switcher.min.js" link as shown below.
code
Remove Switcher Script :
<!-- Custom-Switcher JS -->
<script src="{% static 'assets/js/custom-switcher.min.js'%}"></script>Step1:
To remove switcher path remove below code shown in landing-base.html app/templates/components/landing-base.html file
code
<!-- Start::main-switcher -->
{% include 'components/layouts/landingpage/switcher.html' %}
<!-- End::main-switcher -->Step2:
After removing switcher path in landing-base.html page then change main-header to main-header1 for switcher icon code shown below in landing-base.html page
code
Before :
<!-- Start::main-header -->
{% include 'components/layouts/landingpage/main-header.html' %}
<!-- End::main-header -->
After :
<!-- Start::main-header -->
{% include 'components/layouts/landingpage/main-header1.html' %}
<!-- End::main-header -->Step3:
Now then change main-sidebar to main-sidebar1 for switcher icon code shown below in landing-base.html page
code
Before :
<!-- Start::main-sidebar -->
{% include 'components/layouts/landingpage/main-sidebar.html' %}
<!-- End::main-sidebar -->
After :
<!-- Start::main-sidebar -->
{% include 'components/layouts/landingpage/main-sidebar1.html' %}
<!-- End::main-sidebar -->Step1:
To remove switcher path remove below code shown in landing-jobs-base.html app/templates/components/landing-jobs-base.html file
code
<!-- Start::main-switcher -->
{% include 'components/layouts/landingpage/switcher.html' %}
<!-- End::main-switcher -->Step2:
After removing switcher path in landing-jobs-base.html page then change landing-jobs-header to landing-jobs-header1 for switcher icon code shown below in landing-jobs-base.html page
code
Before :
<!-- Start::main-header -->
{% include 'components/layouts/landingpage/landing-jobs-header.html' %}
<!-- End::main-header -->
After :
<!-- Start::main-header -->
{% include 'components/layouts/landingpage/landing-jobs-header1.html' %}
<!-- End::main-header -->Step3:
Now then change landing-jobs-sidebar to landing-jobs-sidebar1 for switcher icon code shown below in landing-jobs-base.html page
code
Before :
<!-- Start::main-sidebar -->
{% include 'components/layouts/landingpage/landing-jobs-sidebar.html' %}
<!-- End::main-sidebar -->
After :
<!-- Start::main-sidebar -->
{% include 'components/layouts/landingpage/landing-jobs-sidebar1.html' %}
<!-- End::main-sidebar -->Please follow the below steps to change Primary Color
Step 1 :
To change Primary Color you have to open _variables.scss file and replace what color you want as shown in below
Rootpath : _variables.scss (static/assets/scss/_variables.scss )
Note : After changing the styles, you must run the gulp command "gulp" . For more gulp commands, see the gulp page click here.
Please follow the below steps to change Dark body Color
Step 1 :
Make sure the theme is set completely to dark mode by adding the following attributes to the html tag data-theme-mode="dark" data-header-styles="dark" data-menu-styles="dark"
Step 2 :
To change Dark body Color you have to open _variables.scss file and replace what color you want as shown in below
Rootpath : _variables.scss (static/assets/scss/_variables.scss )
Step 3 :
Also Change the following variable colors to the desired theme background accordingly in [data-theme-mode="dark"]
--light-rgb : --form-control-bg : --input-border : --gray-3 :Note : After changing the styles, you must run the gulp command "gulp" . For more gulp commands, see the gulp page click here.
Credit's
NPM Plugins & Reference Links
All plugins runs through npm.
If you want new plugins : Install new plugin from npm then run
gulp command.
Icons Credit
| Icons | References |
|---|---|
| Bootstrap Icons | https://icons.getbootstrap.com/ |
| Boxicons | https://boxicons.com/ |
| Remix Icons | https://remixicon.com/ |
| Feather Icons | https://feathericons.com/ |
| Tabler Icons | https://tabler-icons.io/ |
| Line Awesome Icons | https://icons8.com/line-awesome |
| Phosphor Icons | https://phosphoricons.com/ |
Images Credit
| Images | References |
|---|---|
| Vecteezy | https://www.vecteezy.com/ |
| Iconscount | https://iconscout.com/ |
| Unsplash | https://unsplash.com/ |
| Png Tree | https://pngtree.com/ |
| flaticon | https://www.flaticon.com/authors/flat-icons |
| freepik | https://www.freepik.com |
Fonts Credit
| Font | References |
|---|---|
| Google Fonts | https://fonts.google.com/ |
Sidemenu Icons
| Icon | References |
|---|---|
| phosphor Icons | https://phosphoricons.com/ |
Switcher styles
(Root:app/templates/components/base.html)
html
<html lang="en" dir="ltr" data-nav-layout="vertical" data-theme-mode="light" data-header-styles="light" data-menu-styles="dark" data-toggled="close">html
data-theme-mode="light" data-header-styles="light" data-menu-styles="light"
html
data-theme-mode="dark" data-header-styles="dark" data-menu-styles="dark"
html
dir="ltr"
html
dir="rtl"
html
data-nav-layout="vertical"
html
data-nav-layout="horizontal" data-nav-style="menu-click"
html
data-page-style="regular"
html
data-page-style="classic"
html
data-page-style="modern"
html
data-width="full-width"
html
data-width="boxed"
html
data-header-position="fixed"
html
data-header-position="scrollable"
html
data-vertical-style="closed"
html
data-vertical-style="icontext"
html
data-vertical-style="overlay"
html
data-vertical-style="detached"
html
data-vertical-style="doublemenu"
html
loader="enable"
html
loader="disable"
html
data-menu-styles="light"
html
data-menu-styles="dark"
html
data-menu-styles="color"
html
data-menu-styles="gradient"
html
data-menu-styles="transparent"
html
data-header-styles="light"
html
data-header-styles="dark"
html
data-header-styles="color"
html
data-header-styles="gradient"
html
data-header-styles="transparent"
html
data-bg-img="bgimg1"
html
data-bg-img="bgimg2"
html
data-bg-img="bgimg3"
html
data-bg-img="bgimg4"
html
data-bg-img="bgimg5"