Skip to content

creativetimofficial/ct-argon-dashboard-pro-django

Repository files navigation

version GitHub issues open GitHub issues closed Join the chat at https://gitter.im/NIT-dgp/General Chat

Django Template crafted on top of Argon Dashboard PRO, a premium Bootstrap 4 design. Argon is a completly new product built on our newest re-built from scratch framework structure that is meant to make our products more intuitive, more adaptive and, needless to say, so much easier to customize.

NOTE: This product requires a License in order to access the theme. During the purchase, a GitHub Access TOKEN is provided.


Features:

  • Up-to-date Dependencies
  • Design: Django Theme Argon - PRO BS4 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 via Render

Django Dashboard - Argon Dashboard PRO, admin dashboard starter coded in Django.


Table of Contents


Demo

To authenticate use the default credentials test / PaSS_123 or create a new user on the registration page.


Quick start

UNZIP the sources or clone this repository. After getting the code, open a terminal and navigate to the working directory, with product source code.


Export GITHUB_TOKEN in the environment. The value is provided during purchase.

This is required because the project has a private REPO dependency: github.com/app-generator/priv-django-admin-black-pro

$ export GITHUB_TOKEN='TOKEN_HERE'  # for Linux, Mac
$ set GITHUB_TOKEN='TOKEN_HERE'     # Windows CMD
$ $env:GITHUB_TOKEN = 'TOKEN_HERE'  # Windows powerShell 

👉 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://localhost:8000/.


Start In Docker

👉 Edit Dockerfile to set GITHUB_TOKEN in the Environment. Important: don't SHARE or commit the value on GitHub (is automatically invalidated)

ENV GITHUB_TOKEN <YOUR_TOKEN_HERE>

👉 Start the app

$ docker-compose up --build

At this point, the app runs at http://localhost:5085/.


Documentation

The documentation for the Argon Dashboard PRO Django is hosted at our website.


Code-base structure

The project is coded using a simple and intuitive structure presented bellow:

< 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  
   |    |-- templates/                   # Theme Customisation 
   |         |-- includes                # 
   |              |-- custom-footer.py   # Custom Footer      
   |     
   |-- requirements.txt                  # Project Dependencies
   |
   |-- env.sample                        # ENV Configuration (default values)
   |-- manage.py                         # Start the app - Django default start script
   |
   |-- ************************************************************************

How to Customize

When a template file is loaded, 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_argon_pro
< UI_LIBRARY_ROOT >                      
   |
   |-- templates/                     # Root Templates Folder 
   |    |          
   |    |-- accounts/       
   |    |    |-- login.html           # Sign IN Page
   |    |    |-- register.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
   |    |    |-- base-auth.html       # Masterpage for Auth Pages
   |    |
   |    |-- pages/       
   |         |-- index.html           # Dashboard Page
   |         |-- profile.html         # Profile 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 footer.html these are the steps:

  • Step 1: create the templates DIRECTORY inside the home app
  • Step 2: configure the project to use this new template directory
    • core/settings.py TEMPLATES section
  • Step 3: copy the footer.html from the original location (inside your ENV) and save it to the home/templates DIR
    • Source PATH: <YOUR_ENV>/LIB/admin_argon_pro/template/includes/footer.html
    • Destination PATH: <PROJECT_ROOT>home/templates/includes/footer.html

To speed up all these steps, the codebase is already configured (Steps 1, and 2) and a custom footer can be found at this location:

home/templates/includes/custom-footer.html

By default, this file is unused because the theme expects footer.html (without the custom- prefix).

In order to use it, simply rename it to footer.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.


Deploy on Render

  • Create a Blueprint instance
  • Click New Blueprint Instance button.
  • Connect your repo which you want to deploy.
  • Fill the Service Group Name and click on Update Existing Resources button.
  • After that your deployment will start automatically.

At this point, the product should be LIVE.


Browser Support

At present, we officially aim to support the last two versions of the following browsers:


Resources


Reporting Issues

We use GitHub Issues as the official bug tracker for the Argon Dashboard PRO Django. Here are some advices for our users that want to report an issue:

  1. Make sure that you are using the latest version of the Argon Dashboard PRO Django. Check the CHANGELOG from your dashboard on our website.
  2. Providing us reproducible steps for the issue will shorten the time it takes for it to be fixed.
  3. Some issues may be browser-specific, so specifying in what browser you encountered the issue might help.

Technical Support or Questions

If you have questions or need help integrating the product please contact us instead of opening an issue.


Licensing


Useful Links


Social Media



Argon Dashboard PRO Django - Provided by Creative Tim and AppSeed