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.

  • All HTML Files
  • CSS Files
  • SCSS Files
  • JS Files
  • Documentation
  • Starterkit

Vexa Compatibility with Popular Browsers:

Vexa is fully compatible with major browsers, ensuring a seamless user experience across Chrome, Firefox, Safari, Edge, and Opera.

  • Firefox
  • Safari
  • Opera
  • Chrome
  • Edge

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
or

code

 npm install --save-dev gulp
Installation

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 install
Build Production File

After completing the above steps, run the following command from the project root (Vexa/) in your terminal or command prompt:

code

 gulp

Note:-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 :

  1. Generates the libs/ and CSS/ Folders directory

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

Before: (phosphor icons)

html

After: (bootstrap Icons)

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.

Plugin Version URL
@popperjs/core ^2.11.8 npmjs.com/@popperjs/core
@simonwep/pickr ^1.9.0 npmjs.com/@simonwep/pickr
@tarekraafat/autocomplete.js ^10.2.7 npmjs.com/@tarekraafat/autocomplete.js
@yaireo/dragsort ^1.3.1 npmjs.com/@yaireo/dragsort
@yaireo/tagify ^4.21.2 npmjs.com/@yaireo/tagify
animejs ^3.2.2 npmjs.com/animejs
apexcharts ^5.3.6 npmjs.com/apexcharts
autoprefixer ^10.4.19 npmjs.com/autoprefixer
bootstrap ^5.3.8 npmjs.com/bootstrap
browser-sync ^3.0.3 npmjs.com/browser-sync
chart.js ^4.5.1 npmjs.com/chart.js
choices.js ^11.1.0 npmjs.com/choices.js
clean-css ^5.3.3 npmjs.com/clean-css
cleave.js ^1.6.0 npmjs.com/cleave.js
cssnano ^7.0.4 npmjs.com/cssnano
datatables.net-bs5 ^1.13.11 npmjs.com/datatables.net-bs5
dragula ^3.7.3 npmjs.com/dragula
dropzone ^6.0.0-beta.2 npmjs.com/dropzone
dual-listbox ^2.0.0 npmjs.com/dual-listbox
echarts ^6.0.0 npmjs.com/echarts
fg-emoji-picker ^1.0.1 npmjs.com/fg-emoji-picker
filepond ^4.32.11 npmjs.com/filepond
flatpickr ^4.6.13 npmjs.com/flatpickr
fullcalendar ^6.1.20 npmjs.com/fullcalendar
glightbox ^3.3.0 npmjs.com/glightbox
gmaps ^0.4.25 npmjs.com/gmaps
gridjs ^6.2.0 npmjs.com/gridjs
intl-tel-input ^19.5.7 npmjs.com/intl-tel-input
isotope-layout ^3.0.6 npmjs.com/isotope-layout
jsvectormap ^1.7.0 npmjs.com/jsvectormap
leaflet ^1.9.4 npmjs.com/leaflet
moment 2.9.0 npmjs.com/moment
node-waves ^0.7.6 npmjs.com/node-waves
nouislider ^15.8.1 npmjs.com/nouislider
particles.js ^2.0.0 npmjs.com/particles.js
plyr ^3.7.8 npmjs.com/plyr
prismjs ^1.29.0 npmjs.com/prismjs
quill ^2.0.2 npmjs.com/quill
rater-js ^1.0.1 npmjs.com/rater-js
rename ^1.0.4 npmjs.com/rename
shepherd.js ^11.2.0 npmjs.com/shepherd.js
simplebar ^6.2.7 npmjs.com/simplebar
slick-slider ^1.8.2 npmjs.com/slick-slider
sortablejs ^1.15.2 npmjs.com/sortablejs
sweetalert ^2.1.2 npmjs.com/sweetalert
sweetalert2 ^11.26.17 npmjs.com/sweetalert2
swiper ^11.2.10 npmjs.com/swiper
toastify-js ^1.12.0 npmjs.com/toastify-js
uglify ^0.1.5 npmjs.com/uglify
vanilla-wizard ^0.0.7 npmjs.com/vanilla-wizard
wnumb ^1.2.0 npmjs.com/wnumb
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/
Fonts Credit
Font References
Google Fonts https://fonts.google.com/
Sidemenu Icons
Icon References
phosphor Icons https://phosphoricons.com/

Switcher styles

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">

Light:

html

data-theme-mode="light" data-header-styles="light" data-menu-styles="light"
Dark:

html

data-theme-mode="dark" data-header-styles="dark" data-menu-styles="dark"

LTR (Left to Right):

html

dir="ltr"
RTL (Right to Left):

html

dir="rtl"

Vertical:

html

data-nav-layout="vertical"
Horizontal:

html

data-nav-layout="horizontal" data-nav-style="menu-click"

Default:

Menu Click

data-nav-style="menu-click"
Menu Hover

html

data-nav-style="menu-hover"
Icon Click:

html

data-nav-style="icon-click"
Icon Hover:

html

data-nav-style="icon-hover"

Regular:

html

data-page-style="regular"
Classic:

html

data-page-style="classic"
Mordern:

html

data-page-style="modern"

Full Width:

html

data-width="full-width"
Boxed:

html

data-width="boxed"
Fixed:

html

data-menu-position="fixed"
Scrollable:

html

data-menu-position="scrollable"

Fixed:

html

data-header-position="fixed"
Scrollable:

html

data-header-position="scrollable"

Closed:

html

data-vertical-style="closed"
Icontext:

html

data-vertical-style="icontext"
Overlay:

html

data-vertical-style="overlay"
Detached:

html

data-vertical-style="detached"
Doublemenu:

html

data-vertical-style="doublemenu"

Enable:

html

loader="enable"
Disable:

html

loader="disable"

Light Style:

html

data-menu-styles="light"
Dark Style:

html

data-menu-styles="dark"
Color Style:

html

data-menu-styles="color"
Gradient Style:

html

data-menu-styles="gradient"
Transparent Style:

html

data-menu-styles="transparent"

Light Style:

html

data-header-styles="light"
Dark Style:

html

data-header-styles="dark"
Color Style:

html

data-header-styles="color"
Gradient Style:

html

data-header-styles="gradient"
Transparent Style:

html

data-header-styles="transparent"

Background Image Style-1:

html

data-bg-img="bgimg1"
Background Image Style-2:

html

data-bg-img="bgimg2"
Background Image Style-3:

html

data-bg-img="bgimg3"
Background Image Style-4:

html

data-bg-img="bgimg4"
Background Image Style-5:

html

data-bg-img="bgimg5"
Information
Need Help ?
Support Help Desk
Technical issues? Our support team is ready to help.
Pre-Sales
Have questions before purchasing? Contact our pre-sales team.
Pre-Sales Chat
Get immediate answers through our live chat support.