├── .env ├── .gitignore ├── CHANGELOG.md ├── Dockerfile ├── LICENSE.md ├── README.md ├── build.sh ├── core ├── __init__.py ├── asgi.py ├── settings.py ├── urls.py └── wsgi.py ├── db.sqlite3 ├── docker-compose.yml ├── env.sample ├── gunicorn-cfg.py ├── home ├── __init__.py ├── admin.py ├── apps.py ├── migrations │ └── __init__.py ├── models.py ├── tests.py ├── urls.py └── views.py ├── manage.py ├── media ├── django-dashboard-coreui-card-low.jpg ├── django-dashboard-coreui-card-low.png ├── django-dashboard-coreui-card.jpg ├── django-dashboard-coreui-card.png ├── django-dashboard-coreui-content-image-low.png ├── django-dashboard-coreui-content-image.png ├── django-dashboard-coreui-intro.gif ├── django-dashboard-coreui-screen-1-low.png ├── django-dashboard-coreui-screen-1.png ├── django-dashboard-coreui-screen-2-low.png ├── django-dashboard-coreui-screen-2.png ├── django-dashboard-coreui-screen-3-low.png ├── django-dashboard-coreui-screen-3.png ├── django-dashboard-coreui-screen-login-low.png ├── django-dashboard-coreui-screen-login.png ├── django-dashboard-coreui-screen-low.png ├── django-dashboard-coreui-screen-register-low.png ├── django-dashboard-coreui-screen-register.png └── django-dashboard-coreui-screen.png ├── nginx └── appseed-app.conf ├── render.yaml ├── requirements.txt ├── static ├── .gitkeep └── assets │ ├── package-lock.json │ └── package.json ├── staticfiles └── .gitkeep └── templates ├── .gitkeep ├── accounts ├── login.html └── register.html └── includes ├── sidebar.html └── topbar.html /.env: -------------------------------------------------------------------------------- 1 | # True for development, False for production 2 | DEBUG=True 3 | 4 | SECRET_KEY= 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | 5 | # tests and coverage 6 | *.pytest_cache 7 | .coverage 8 | 9 | # database & logs 10 | *.db 11 | #*.sqlite3 12 | *.log 13 | 14 | # venv 15 | env 16 | venv 17 | 18 | # other 19 | .DS_Store 20 | 21 | # javascript 22 | #package-lock.json 23 | #yarn.lock 24 | 25 | staticfiles/* 26 | !staticfiles/.gitkeep 27 | .vscode/symbols.json 28 | 29 | static/assets/node_modules 30 | static/assets/.temp 31 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | ## [1.0.8] 2024-11-27 4 | ### Changes 5 | 6 | > Update RM Links 7 | 8 | - 👉 [Django CoreUI](https://app-generator.dev/product/coreui/django/) - `Product Page` 9 | - 👉 [Django CoreUI](https://django-coreui.appseed-srv1.com/) - `LIVE Demo` 10 | - 👉 [Django CoreUI](https://app-generator.dev/docs/products/django/coreui/index.html) - `Complete Information` and Support Links 11 | - [Getting Started with Django](https://app-generator.dev/docs/technologies/django/index.html) - a `comprehensive tutorial` 12 | - `Configuration`: Install Dependencies, Prepare Environment, Setting up the Database 13 | - `Start with Docker` 14 | - `Manual Build` 15 | - `Start the project` 16 | - `Deploy on Render` 17 | 18 | ## [1.0.7] 2024-04-28 19 | ### Changes 20 | 21 | - Update Sidebar 22 | - Added Auth Links 23 | - Update [Django CoreUI DEMO](https://django-coreui.onrender.com/) Link 24 | 25 | ## [1.0.6] 2024-04-28 26 | ### Changes 27 | 28 | - Added CoreUI Theme 29 | - Codebase refactoring 30 | - Added CI/Cd for Render 31 | - Update Settings 32 | - Local Templates 33 | - Local Assets 34 | 35 | ## [1.0.5] 2022-06-01 36 | ### Changes 37 | 38 | - Built with [CoreUI Generator](https://appseed.us/generator/coreui/) 39 | - Timestamp: `2022-06-01 08:50` 40 | 41 | ## [1.0.4] 2022-01-16 42 | ### Improvements 43 | 44 | - Bump Django Codebase to [v2stable.0.1](https://github.com/app-generator/boilerplate-code-django-dashboard/releases) 45 | - Dependencies update (all packages) 46 | - Django==4.0.1 47 | - Settings update for Django 4.x 48 | - `New Parameter`: CSRF_TRUSTED_ORIGINS 49 | - [Origin header checking isn`t performed in older versions](https://docs.djangoproject.com/en/4.0/ref/settings/#csrf-trusted-origins) 50 | 51 | ## [1.0.3] 2021-12-03 52 | ### Improvements 53 | 54 | - Bump UI: CoreUI v4.1.0 55 | 56 | ## [1.0.2] 2021-10-07 57 | ### Improvements 58 | 59 | - Bump Django Codebase to [v2.0.4](https://github.com/app-generator/boilerplate-code-django-dashboard/releases) 60 | - Dependencies update (all packages) 61 | - Use Django==3.2.6 (latest stable version) 62 | - Better Code formatting 63 | - Improved Files organization 64 | - Optimize imports 65 | - Docker Scripts Update 66 | - Tooling: 67 | - Gulp SASS compilation script 68 | - `Update README` - Recompile SCSS (new section) 69 | - Fixes: 70 | - Patch 500 Error when authenticated users access `admin` path (no slash at the end) 71 | - Patch [#16](https://github.com/app-generator/boilerplate-code-django-dashboard/issues/16): Minor issue in Docker 72 | 73 | ## [1.0.1] 2020-06-08 74 | ### Improvements 75 | 76 | - Bump the Core UI Kit to v3.2.0 77 | - Update the code-base to use latest Django Boilerplate - https://github.com/app-generator/boilerplate-code-django-dashboard 78 | - Update Licensing information 79 | - Add CHANGELOG.md to track all changes 80 | 81 | ## [1.0.0] 2020-01-01 82 | ### Initial Release 83 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.9 2 | 3 | # set environment variables 4 | ENV PYTHONDONTWRITEBYTECODE 1 5 | ENV PYTHONUNBUFFERED 1 6 | 7 | COPY requirements.txt . 8 | # install python dependencies 9 | RUN pip install --upgrade pip 10 | RUN pip install --no-cache-dir -r requirements.txt 11 | 12 | COPY . . 13 | 14 | # running migrations 15 | RUN python manage.py migrate 16 | 17 | # gunicorn 18 | CMD ["gunicorn", "--config", "gunicorn-cfg.py", "core.wsgi"] 19 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # MIT License 2 | 3 | Copyright (c) 2019 - present [AppSeed](http://appseed.us/) 4 | 5 |
6 | 7 | ## Licensing Information 8 | 9 |
10 | 11 | | Item | - | 12 | | ---------------------------------- | --- | 13 | | License Type | MIT | 14 | | Use for print | **YES** | 15 | | Create single personal website/app | **YES** | 16 | | Create single website/app for client | **YES** | 17 | | Create multiple website/apps for clients | **YES** | 18 | | Create multiple SaaS applications | **YES** | 19 | | End-product paying users | **YES** | 20 | | Product sale | **YES** | 21 | | Remove footer credits | **YES** | 22 | | --- | --- | 23 | | Remove copyright mentions from source code | NO | 24 | | Production deployment assistance | NO | 25 | | Create HTML/CSS template for sale | NO | 26 | | Create Theme/Template for CMS for sale | NO | 27 | | Separate sale of our UI Elements | NO | 28 | 29 |
30 | 31 | --- 32 | For more information regarding licensing, please contact the AppSeed Service < *support@appseed.us* > 33 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [Django CoreUI](https://app-generator.dev/product/coreui/django/) 2 | 3 | Open-source **Django Dashboard** built on top of CoreO, on top of an iconic open-source Bootstrap-based design. For newcomers, **CoreUI** is one of the best open-source admin dashboard & control panel themes. Built on top of Bootstrap, `CoreUI` provides a range of responsive, reusable, and commonly used components. 4 | 5 | - 👉 [Django CoreUI](https://app-generator.dev/product/coreui/django/) - `Product Page` 6 | - 👉 [Django CoreUI](https://django-coreui.appseed-srv1.com/) - `LIVE Demo` 7 | - 👉 [Django CoreUI](https://app-generator.dev/docs/products/django/coreui/index.html) - `Complete Information` and Support Links 8 | - [Getting Started with Django](https://app-generator.dev/docs/technologies/django/index.html) - a `comprehensive tutorial` 9 | - `Configuration`: Install Dependencies, Prepare Environment, Setting up the Database 10 | - `Start with Docker` 11 | - `Manual Build` 12 | - `Start the project` 13 | - `Deploy on Render` 14 | 15 |
16 | 17 | ## Features 18 | 19 | - **Django 4.1.12** 20 | - Best Practices 21 | - **[CoreUI Dashboard Design](https://app-generator.dev/docs/templates/bootstrap/coreui.html)** - Full Integration 22 | - `CI/CD` Flow via Render 23 | - `Docker` 24 | 25 | ![CoreUI Dashboard - Starter generated by AppSeed.](https://user-images.githubusercontent.com/51070104/171336361-b125ca1d-8936-4f4a-b662-9e45ee25f404.png) 26 | 27 |
28 | 29 | ## [Material Dashboard PRO Version](https://app-generator.dev/product/material-dashboard-pro/django/) 30 | 31 | > The premium version provides more features, priority on support, and is more often updated - [Live Demo](https://django-material-dash2-pro.onrender.com). 32 | 33 | - **Simple, Easy-to-Extend** Codebase 34 | - **Material Dashboard** Design - PRO Version 35 | - Bootstrap 5 CSS 36 | - **OAuth** - Github 37 | - **Extended User Profile** 38 | - **API** via DRF 39 | - **Charts** via ApexJS 40 | - **Celery** (async tasks) 41 | - **Deployment-Ready** for Render 42 | 43 | ![Django Material Dash2 PRO - Premium starter crafted by App-Generator.](https://github.com/user-attachments/assets/c75c6e67-a940-4d56-9855-070f901ab5ab) 44 | 45 |
46 | 47 | --- 48 | [Django CoreUI](https://app-generator.dev/product/coreui/django/) - Open-Source **Django** Starter provided by [App Generator](https://app-generator.dev) 49 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # exit on error 3 | set -o errexit 4 | 5 | python -m pip install --upgrade pip 6 | 7 | pip install -r requirements.txt 8 | 9 | python manage.py collectstatic --no-input 10 | python manage.py migrate 11 | -------------------------------------------------------------------------------- /core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/core/__init__.py -------------------------------------------------------------------------------- /core/asgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | ASGI config for core project. 3 | 4 | It exposes the ASGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.1/howto/deployment/asgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.asgi import get_asgi_application 13 | 14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "core.settings") 15 | 16 | application = get_asgi_application() 17 | -------------------------------------------------------------------------------- /core/settings.py: -------------------------------------------------------------------------------- 1 | """ 2 | Django settings for core project. 3 | 4 | Generated by 'django-admin startproject' using Django 4.1.2. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.1/topics/settings/ 8 | 9 | For the full list of settings and their values, see 10 | https://docs.djangoproject.com/en/4.1/ref/settings/ 11 | """ 12 | 13 | import os, random, string 14 | from pathlib import Path 15 | from dotenv import load_dotenv 16 | from str2bool import str2bool 17 | 18 | load_dotenv() # take environment variables from .env. 19 | 20 | # Build paths inside the project like this: BASE_DIR / 'subdir'. 21 | BASE_DIR = Path(__file__).resolve().parent.parent 22 | 23 | # Quick-start development settings - unsuitable for production 24 | # See https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/ 25 | 26 | # SECURITY WARNING: keep the secret key used in production secret! 27 | SECRET_KEY = os.environ.get('SECRET_KEY') 28 | if not SECRET_KEY: 29 | SECRET_KEY = ''.join(random.choice( string.ascii_lowercase ) for i in range( 32 )) 30 | 31 | # Enable/Disable DEBUG Mode 32 | DEBUG = str2bool(os.environ.get('DEBUG')) 33 | #print(' DEBUG -> ' + str(DEBUG) ) 34 | 35 | # Docker HOST 36 | ALLOWED_HOSTS = ['*'] 37 | 38 | # Add here your deployment HOSTS 39 | CSRF_TRUSTED_ORIGINS = ['http://localhost:8000', 'http://localhost:5085', 'http://127.0.0.1:8000', 'http://127.0.0.1:5085'] 40 | 41 | #Render Context 42 | RENDER_EXTERNAL_HOSTNAME = os.environ.get('RENDER_EXTERNAL_HOSTNAME') 43 | if RENDER_EXTERNAL_HOSTNAME: 44 | ALLOWED_HOSTS.append(RENDER_EXTERNAL_HOSTNAME) 45 | 46 | # Application definition 47 | 48 | INSTALLED_APPS = [ 49 | 'admin_coreui.apps.AdminCoreuiConfig', 50 | "django.contrib.admin", 51 | "django.contrib.auth", 52 | "django.contrib.contenttypes", 53 | "django.contrib.sessions", 54 | "django.contrib.messages", 55 | "django.contrib.staticfiles", 56 | 57 | "home", 58 | ] 59 | 60 | MIDDLEWARE = [ 61 | "django.middleware.security.SecurityMiddleware", 62 | "whitenoise.middleware.WhiteNoiseMiddleware", 63 | "django.contrib.sessions.middleware.SessionMiddleware", 64 | "django.middleware.common.CommonMiddleware", 65 | "django.middleware.csrf.CsrfViewMiddleware", 66 | "django.contrib.auth.middleware.AuthenticationMiddleware", 67 | "django.contrib.messages.middleware.MessageMiddleware", 68 | "django.middleware.clickjacking.XFrameOptionsMiddleware", 69 | ] 70 | 71 | ROOT_URLCONF = "core.urls" 72 | 73 | HOME_TEMPLATES = os.path.join(BASE_DIR, 'templates') 74 | 75 | TEMPLATES = [ 76 | { 77 | "BACKEND": "django.template.backends.django.DjangoTemplates", 78 | "DIRS": [HOME_TEMPLATES], 79 | "APP_DIRS": True, 80 | "OPTIONS": { 81 | "context_processors": [ 82 | "django.template.context_processors.debug", 83 | "django.template.context_processors.request", 84 | "django.contrib.auth.context_processors.auth", 85 | "django.contrib.messages.context_processors.messages", 86 | ], 87 | }, 88 | }, 89 | ] 90 | 91 | WSGI_APPLICATION = "core.wsgi.application" 92 | 93 | 94 | # Database 95 | # https://docs.djangoproject.com/en/4.1/ref/settings/#databases 96 | 97 | DB_ENGINE = os.getenv('DB_ENGINE' , None) 98 | DB_USERNAME = os.getenv('DB_USERNAME' , None) 99 | DB_PASS = os.getenv('DB_PASS' , None) 100 | DB_HOST = os.getenv('DB_HOST' , None) 101 | DB_PORT = os.getenv('DB_PORT' , None) 102 | DB_NAME = os.getenv('DB_NAME' , None) 103 | 104 | if DB_ENGINE and DB_NAME and DB_USERNAME: 105 | DATABASES = { 106 | 'default': { 107 | 'ENGINE' : 'django.db.backends.' + DB_ENGINE, 108 | 'NAME' : DB_NAME, 109 | 'USER' : DB_USERNAME, 110 | 'PASSWORD': DB_PASS, 111 | 'HOST' : DB_HOST, 112 | 'PORT' : DB_PORT, 113 | }, 114 | } 115 | else: 116 | DATABASES = { 117 | 'default': { 118 | 'ENGINE': 'django.db.backends.sqlite3', 119 | 'NAME': 'db.sqlite3', 120 | } 121 | } 122 | 123 | # Password validation 124 | # https://docs.djangoproject.com/en/4.1/ref/settings/#auth-password-validators 125 | 126 | AUTH_PASSWORD_VALIDATORS = [ 127 | { 128 | "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", 129 | }, 130 | { 131 | "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", 132 | }, 133 | { 134 | "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator", 135 | }, 136 | { 137 | "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator", 138 | }, 139 | ] 140 | 141 | 142 | # Internationalization 143 | # https://docs.djangoproject.com/en/4.1/topics/i18n/ 144 | 145 | LANGUAGE_CODE = "en-us" 146 | 147 | TIME_ZONE = "UTC" 148 | 149 | USE_I18N = True 150 | 151 | USE_TZ = True 152 | 153 | 154 | # Static files (CSS, JavaScript, Images) 155 | # https://docs.djangoproject.com/en/4.1/howto/static-files/ 156 | 157 | STATIC_URL = '/static/' 158 | STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') 159 | 160 | STATICFILES_DIRS = ( 161 | os.path.join(BASE_DIR, 'static'), 162 | ) 163 | 164 | #if not DEBUG: 165 | # STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage' 166 | 167 | # Default primary key field type 168 | # https://docs.djangoproject.com/en/4.1/ref/settings/#default-auto-field 169 | 170 | DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" 171 | 172 | LOGIN_REDIRECT_URL = '/' 173 | EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' 174 | -------------------------------------------------------------------------------- /core/urls.py: -------------------------------------------------------------------------------- 1 | """core URL Configuration 2 | 3 | The `urlpatterns` list routes URLs to views. For more information please see: 4 | https://docs.djangoproject.com/en/4.1/topics/http/urls/ 5 | Examples: 6 | Function views 7 | 1. Add an import: from my_app import views 8 | 2. Add a URL to urlpatterns: path('', views.home, name='home') 9 | Class-based views 10 | 1. Add an import: from other_app.views import Home 11 | 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') 12 | Including another URLconf 13 | 1. Import the include() function: from django.urls import include, path 14 | 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) 15 | """ 16 | from django.contrib import admin 17 | from django.urls import include, path 18 | 19 | urlpatterns = [ 20 | path('', include('home.urls')), 21 | path("admin/", admin.site.urls), 22 | path('', include('admin_coreui.urls')), 23 | ] 24 | -------------------------------------------------------------------------------- /core/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for core project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.1/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "core.settings") 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /db.sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/db.sqlite3 -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.8' 2 | services: 3 | appseed-app: 4 | container_name: appseed_app 5 | restart: always 6 | env_file: .env 7 | build: . 8 | networks: 9 | - db_network 10 | - web_network 11 | nginx: 12 | container_name: nginx 13 | restart: always 14 | image: "nginx:latest" 15 | ports: 16 | - "5085:5085" 17 | volumes: 18 | - ./nginx:/etc/nginx/conf.d 19 | networks: 20 | - web_network 21 | depends_on: 22 | - appseed-app 23 | networks: 24 | db_network: 25 | driver: bridge 26 | web_network: 27 | driver: bridge 28 | -------------------------------------------------------------------------------- /env.sample: -------------------------------------------------------------------------------- 1 | DEBUG=True 2 | 3 | # Deployment SERVER address 4 | SERVER=.appseed.us 5 | 6 | # For MySql Persistence 7 | DB_ENGINE=mysql 8 | DB_NAME=appseed_db 9 | DB_HOST=localhost 10 | DB_PORT=3306 11 | DB_USERNAME=appseed_db_usr 12 | DB_PASS= 13 | -------------------------------------------------------------------------------- /gunicorn-cfg.py: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | """ 3 | Copyright (c) 2019 - present AppSeed.us 4 | """ 5 | 6 | bind = '0.0.0.0:5005' 7 | workers = 1 8 | accesslog = '-' 9 | loglevel = 'debug' 10 | capture_output = True 11 | enable_stdio_inheritance = True 12 | -------------------------------------------------------------------------------- /home/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/home/__init__.py -------------------------------------------------------------------------------- /home/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /home/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class HomeConfig(AppConfig): 5 | default_auto_field = "django.db.models.BigAutoField" 6 | name = "home" 7 | -------------------------------------------------------------------------------- /home/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/home/migrations/__init__.py -------------------------------------------------------------------------------- /home/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /home/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /home/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | 3 | from . import views 4 | 5 | urlpatterns = [ 6 | path('', views.index, name='index'), 7 | ] 8 | -------------------------------------------------------------------------------- /home/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | from django.http import HttpResponse 3 | 4 | # Create your views here. 5 | 6 | def index(request): 7 | 8 | # Page from the theme 9 | return render(request, 'index.html') 10 | -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """ 3 | Copyright (c) 2019 - present AppSeed.us 4 | """ 5 | 6 | import os 7 | import sys 8 | 9 | def main(): 10 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings') 11 | try: 12 | from django.core.management import execute_from_command_line 13 | except ImportError as exc: 14 | raise ImportError( 15 | "Couldn't import Django. Are you sure it's installed and " 16 | "available on your PYTHONPATH environment variable? Did you " 17 | "forget to activate a virtual environment?" 18 | ) from exc 19 | execute_from_command_line(sys.argv) 20 | 21 | if __name__ == '__main__': 22 | main() 23 | -------------------------------------------------------------------------------- /media/django-dashboard-coreui-card-low.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-card-low.jpg -------------------------------------------------------------------------------- /media/django-dashboard-coreui-card-low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-card-low.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-card.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-card.jpg -------------------------------------------------------------------------------- /media/django-dashboard-coreui-card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-card.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-content-image-low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-content-image-low.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-content-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-content-image.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-intro.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-intro.gif -------------------------------------------------------------------------------- /media/django-dashboard-coreui-screen-1-low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-screen-1-low.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-screen-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-screen-1.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-screen-2-low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-screen-2-low.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-screen-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-screen-2.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-screen-3-low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-screen-3-low.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-screen-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-screen-3.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-screen-login-low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-screen-login-low.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-screen-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-screen-login.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-screen-low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-screen-low.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-screen-register-low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-screen-register-low.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-screen-register.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-screen-register.png -------------------------------------------------------------------------------- /media/django-dashboard-coreui-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/media/django-dashboard-coreui-screen.png -------------------------------------------------------------------------------- /nginx/appseed-app.conf: -------------------------------------------------------------------------------- 1 | upstream webapp { 2 | server appseed_app:5005; 3 | } 4 | 5 | server { 6 | listen 5085; 7 | server_name localhost; 8 | 9 | location / { 10 | proxy_pass http://webapp; 11 | proxy_set_header Host $host; 12 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /render.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | - type: web 3 | name: django-coreui 4 | plan: starter 5 | env: python 6 | region: frankfurt # region should be same as your database region. 7 | buildCommand: "./build.sh" 8 | startCommand: "gunicorn core.wsgi:application" 9 | envVars: 10 | - key: DEBUG 11 | value: False 12 | - key: SECRET_KEY 13 | generateValue: true 14 | - key: WEB_CONCURRENCY 15 | value: 4 16 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | # Core 2 | django==4.2.9 3 | python-dotenv==1.0.1 4 | str2bool==1.1 5 | 6 | # UI 7 | django-admin-coreui==1.0.2 8 | 9 | # Deployment 10 | whitenoise==6.6.0 11 | gunicorn==21.2.0 12 | 13 | # psycopg2-binary 14 | # mysqlclient 15 | -------------------------------------------------------------------------------- /static/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/static/.gitkeep -------------------------------------------------------------------------------- /static/assets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@coreui/coreui-free-bootstrap-admin-template", 3 | "version": "5.0.0", 4 | "description": "Free Bootstrap Admin Template", 5 | "keywords": [ 6 | "admin", 7 | "admin panel", 8 | "admin template", 9 | "bootstrap", 10 | "css", 11 | "dashboard", 12 | "framework", 13 | "front-end", 14 | "responsive", 15 | "sass", 16 | "ui kit", 17 | "webapp" 18 | ], 19 | "homepage": "https://coreui.io", 20 | "bugs": { 21 | "url": "https://github.com/coreui/coreui-free-bootstrap-admin-template/issues", 22 | "email": "support@coreui.io" 23 | }, 24 | "license": "MIT", 25 | "author": { 26 | "name": "creativeLabs Łukasz Holeczek", 27 | "url": "https://coreui.io", 28 | "github": "https://github.com/coreui", 29 | "twitter": "https://twitter.com/core_ui" 30 | }, 31 | "contributors": [ 32 | { 33 | "name": "CoreUI Core Team", 34 | "url": "https://github.com/orgs/coreui/people" 35 | } 36 | ], 37 | "main": "dist/index.html", 38 | "repository": { 39 | "type": "git", 40 | "url": "git+https://github.com/coreui/coreui-free-bootstrap-admin-template.git" 41 | }, 42 | "funding": [ 43 | { 44 | "type": "opencollective", 45 | "url": "https://opencollective.com/coreui" 46 | }, 47 | { 48 | "type": "subscription", 49 | "url": "hhttps://coreui.io/pricing/?framework=bootstrap" 50 | } 51 | ], 52 | "scripts": { 53 | "build": "npm-run-all clean --parallel css js sync --sequential build-vendors", 54 | "build-vendors": "node build/vendors.mjs", 55 | "clean": "rimraf dist", 56 | "css": "npm-run-all --parallel css-compile* --sequential css-prefix css-minify*", 57 | "css-compile": "sass --style expanded --source-map --embed-sources --no-error-css --load-path=node_modules/ src/scss/:dist/css/", 58 | "css-lint": "npm-run-all --continue-on-error --parallel css-lint-*", 59 | "css-lint-stylelint": "stylelint \"**/*.{css,scss}\" --cache --cache-location .cache/.stylelintcache --rd", 60 | "css-minify": "cleancss -O1 --format breakWith=lf --with-rebase --source-map --source-map-inline-sources --output dist/css/ --batch --batch-suffix \".min\" \"dist/css/*.css\" \"!dist/css/*.min.css\" \"!dist/css/*rtl*.css\"", 61 | "css-prefix": "postcss --config build/postcss.config.mjs --replace \"dist/css/*.css\" \"!dist/css/*.min.css\"", 62 | "js": "npm-run-all --parallel js-compile* ", 63 | "js-compile": "cross-env babel src/js/ --out-dir dist/js/ --source-maps", 64 | "js-lint": "eslint --cache --cache-location .cache/.eslintcache --report-unused-disable-directives .", 65 | "localhost": "browser-sync start --server \"./dist\" --serveStatic \"./\" --files \"./dist/\"", 66 | "postinstall": "node build/postinstall.mjs || exit 0", 67 | "pug": "node build/pug.mjs", 68 | "release-version": "node build/change-version.mjs", 69 | "serve": "serve dist", 70 | "start": "npm-run-all --sequential clean css js sync --parallel localhost watch", 71 | "sync": "npm-run-all --parallel sync-*", 72 | "sync-assets": "syncdir src/assets dist/assets", 73 | "sync-views": "syncdir src/views dist", 74 | "watch": "npm-run-all --parallel watch-*", 75 | "watch-assets": "nodemon --watch src/assets --exec \"npm run sync-assets\"", 76 | "watch-css": "nodemon --watch scss/ --ext scss --exec \"npm-run-all css-lint css-compile css-prefix\"", 77 | "watch-html": "nodemon --watch src/views --ext html --exec \"npm run sync-views\"", 78 | "watch-js": "nodemon --watch src/js --ext js --exec \"npm-run-all js-lint js-compile\"", 79 | "watch-pug": "nodemon --watch src/pug --ext pug --exec \"npm run pug\"", 80 | "zip": "npm-run-all --sequential build zip-*", 81 | "zip-dist": "cross-env-shell \"rm -rf coreui-free-bootstrap-admin-template-v$npm_package_version-dist coreui-free-bootstrap-admin-template-v$npm_package_version-dist.zip && cp -r dist/ coreui-free-bootstrap-admin-template-v$npm_package_version-dist && zip -qr9 coreui-free-bootstrap-admin-template-v$npm_package_version-dist.zip coreui-free-bootstrap-admin-template-v$npm_package_version-dist && rm -rf coreui-free-bootstrap-admin-template-v$npm_package_version-dist\"", 82 | "zip-src": "git archive -o coreui-free-bootstrap-admin-template-v$npm_package_version.zip -9 HEAD" 83 | }, 84 | "dependencies": { 85 | "@coreui/chartjs": "^4.0.0", 86 | "@coreui/coreui": "^5.0.0", 87 | "@coreui/icons": "^3.0.1", 88 | "@coreui/utils": "^2.0.2", 89 | "chart.js": "^4.4.2", 90 | "simplebar": "^6.2.5" 91 | }, 92 | "devDependencies": { 93 | "@babel/cli": "^7.24.1", 94 | "@babel/core": "^7.24.3", 95 | "@babel/preset-env": "^7.24.3", 96 | "@coreui/vendors-injector": "^1.1.4", 97 | "autoprefixer": "^10.4.19", 98 | "browser-sync": "^3.0.2", 99 | "clean-css-cli": "^5.6.3", 100 | "cross-env": "^7.0.3", 101 | "eslint": "^8.57.0", 102 | "eslint-config-xo": "^0.44.0", 103 | "eslint-plugin-import": "^2.29.1", 104 | "eslint-plugin-unicorn": "^51.0.1", 105 | "find-unused-sass-variables": "^5.0.0", 106 | "globby": "^11.1.0", 107 | "mkdirp": "^3.0.1", 108 | "nodemon": "^3.1.0", 109 | "npm-run-all": "^4.1.5", 110 | "postcss": "^8.4.38", 111 | "postcss-cli": "^11.0.0", 112 | "postcss-combine-duplicated-selectors": "^10.0.3", 113 | "postcss-drop-empty-css-vars": "^0.0.0", 114 | "prettier": "3.2.5", 115 | "pug": "^3.0.2", 116 | "rimraf": "^5.0.5", 117 | "sass": "^1.72.0", 118 | "serve": "^14.2.1", 119 | "shelljs": "^0.8.5", 120 | "stylelint": "16.3.1", 121 | "stylelint-config-twbs-bootstrap": "^14.0.0", 122 | "sync-directory": "^6.0.5" 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /staticfiles/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/staticfiles/.gitkeep -------------------------------------------------------------------------------- /templates/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/app-generator/django-coreui/50fde4b69939e9b6ad20ea5f56359377e1bad07e/templates/.gitkeep -------------------------------------------------------------------------------- /templates/accounts/login.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends 'layouts/base-fullscreen.html' %} 3 | 4 | {% block content %} 5 | 6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |

Login

14 |

15 | USER: test / Pass12__ 16 |
17 | ADMIN: admin / Pass12__ 18 |

19 |
20 | {% csrf_token %} 21 | 22 | {% if form.non_field_errors %} 23 | {% for error in form.non_field_errors %} 24 |
{{ error }}
25 | {% endfor %} 26 | {% endif %} 27 | 28 | {% for field in form %} 29 |
30 | 31 | 32 | 33 | 34 | 35 | {{ field }} 36 |
37 | {% endfor %} 38 | 39 |
40 |
41 | 42 |
43 | 44 |
45 | Forgot password? 46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |

Sign up

54 |

55 | Add your credentias and join the community today. 56 |

57 | Register Now! 58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 | {% endblock content %} 67 | 68 | -------------------------------------------------------------------------------- /templates/accounts/register.html: -------------------------------------------------------------------------------- 1 | {% extends 'layouts/base-fullscreen.html' %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |
8 |
9 |
10 |
11 |

Register

12 |

Create your account

13 |
14 | {% csrf_token %} 15 | 16 | {% for field in form %} 17 |
18 | 19 | 20 | 21 | 22 | 23 | {{ field }} 24 | 25 |
26 | {{ field.errors }} 27 | {% endfor %} 28 | 29 | Already have an account? Login 30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | {% endblock content %} 38 | 39 | -------------------------------------------------------------------------------- /templates/includes/sidebar.html: -------------------------------------------------------------------------------- 1 | {% load i18n static admin_coreui %} 2 | 3 | 8 | 9 | 282 | 283 | 284 | -------------------------------------------------------------------------------- /templates/includes/topbar.html: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------