All Projects → app-generator → django-datatables-sample

app-generator / django-datatables-sample

Licence: other
Django - Datatables Sample | AppSeed

Programming Languages

CSS
56736 projects
HTML
75241 projects
python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to django-datatables-sample

api-server-nodejs
Nodejs API Server - Express / SQLite / TypeORM | AppSeed
Stars: ✭ 171 (+263.83%)
Mutual labels:  appseed, appseed-sample
material-dashboard-django
Material Dashboard - Django Template | Creative-Tim
Stars: ✭ 52 (+10.64%)
Mutual labels:  appseed
flask-illustrations-iradesign
Flask App - Illustrations by IraDesign | AppSeed
Stars: ✭ 23 (-51.06%)
Mutual labels:  appseed
flask-dashboard-tabler
Flask Dashboard - Tabler Design | AppSeed
Stars: ✭ 19 (-59.57%)
Mutual labels:  appseed
argon-dashboard-flask
Argon Dashboard - Flask Template | Creative-Tim
Stars: ✭ 52 (+10.64%)
Mutual labels:  appseed
django-dashboard-light-blue
Django Dashboard - Light Blue Design | AppSeed
Stars: ✭ 18 (-61.7%)
Mutual labels:  appseed
flask-dashboard-atlantis
Flask Atlantis Lite - Open-Source Flask Seed Project | AppSeed
Stars: ✭ 16 (-65.96%)
Mutual labels:  appseed
django-soft-ui-design
Soft UI Design System - Django Starter | AppSeed
Stars: ✭ 58 (+23.4%)
Mutual labels:  appseed
laravel-react-purity-dashboard
React Laravel - Purity Dashboard (Open-Source) | AppSeed
Stars: ✭ 30 (-36.17%)
Mutual labels:  appseed
django-black-dashboard
Django Dashboard Black - Open-source Seed Project | AppSeed
Stars: ✭ 225 (+378.72%)
Mutual labels:  appseed
jinja-material-kit
Jinja Template - Material Kit 2 (Bootstrap 5) | AppSeed
Stars: ✭ 14 (-70.21%)
Mutual labels:  appseed
react-soft-ui-dashboard
React Dashboard - Soft UI Dashboard | AppSeed
Stars: ✭ 171 (+263.83%)
Mutual labels:  appseed
django-soft-ui-dashboard
Soft UI Dashboard - Open-source Django Dashboard | AppSeed
Stars: ✭ 133 (+182.98%)
Mutual labels:  appseed
flask-soft-ui-dashboard
Soft UI Dashboard - Open-source Flask Dashboard | AppSeed
Stars: ✭ 113 (+140.43%)
Mutual labels:  appseed
django-material-kit
Django Boilerplate - Material Kit Design | AppSeed
Stars: ✭ 36 (-23.4%)
Mutual labels:  appseed
flask-boilerplate-flaskplay
FlaskPlay Boilerplate - Open-Source Web App coded in Flask | AppSeed
Stars: ✭ 17 (-63.83%)
Mutual labels:  appseed
flask-gradient-able
Gradient Able - Open-Source Flask Dashboard | AppSeed
Stars: ✭ 59 (+25.53%)
Mutual labels:  appseed
tailwind-css-components
Tailwind CSS Components - Free and Open-Source Tailwind Components | AppSeed
Stars: ✭ 56 (+19.15%)
Mutual labels:  appseed
html-parser
Html Parser - Html to Pug, Jinja2, Blade Converter | AppSeed
Stars: ✭ 40 (-14.89%)
Mutual labels:  appseed
static-site
Static Sites - Open-Source and Paid | AppSeed App Generator
Stars: ✭ 17 (-63.83%)
Mutual labels:  appseed

Django Datatables Sample

Playground starter to manage a data table in Django:

  • Load sample data using admin section
  • Inline rows edit activated at double click
  • Pagination and Search
  • Deployment scripts: Docker, Gunicorn / Nginx
  • Support via Github (issues tracker) and Discord provided by AppSeed

Links


Django Datatables Sample - Playground starter provided by AppSeed.


How to use it

$ # Get the code
$ git clone https://github.com/app-generator/django-datatables-sample.git
$ cd django-datatables-sample
$
$ # Virtualenv modules installation (Unix based systems)
$ virtualenv env
$ source env/bin/activate
$
$ # Virtualenv modules installation (Windows based systems)
$ # virtualenv env
$ # .\env\Scripts\activate
$
$ # Install modules - SQLite Storage
$ pip3 install -r requirements.txt
$
$ # Create tables
$ python manage.py makemigrations
$ python manage.py migrate
$
$ # Create app superuser
$ python manage.py createsuperuser
$
$ # Start the application (development mode)
$ python manage.py runserver # default port 8000
$
$ # Start the app - custom port
$ # python manage.py runserver 0.0.0.0:<your_port>
$
$ # Access the web app in browser: http://127.0.0.1:8000/

Note: To use the app, please access the registration page and create a new user. After authentication, the app will unlock the private pages.


Load Data For Datatable

In Django admin, you can import data for the Transaction section. To do this just click on IMPORT button then select your csv, xls or etc file and submit it.

Import Data

Sample Data

Datatable for transactions

  • Imported information is displayed in the Transactions section.

Django Dashboard Volt - Template project provided by AppSeed.

  • In this section, you can search, edit, and delete the transactions. The added features of this datatable are:
    • Paginated information (transaction page) with usable controls: PREV, 1,2,3., NEXT
    • Search box to filter
    • Delete row control
    • edit cel data on double click and ENTER on confirm.

Django Dashboard Volt - Template project provided by AppSeed.


Code-base structure

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

< PROJECT ROOT >
   |
   |-- core/                               # Implements app logic and serve the static assets
   |    |-- settings.py                    # Django app bootstrapper
   |    |-- wsgi.py                        # Start the app in production
   |    |-- urls.py                        # Define URLs served by all apps/nodes
   |    |
   |    |-- static/
   |    |    |-- <css, JS, images>         # CSS files, Javascripts files
   |    |
   |    |-- templates/                     # Templates used to render pages
   |         |
   |         |-- includes/                 # HTML chunks and components
   |         |    |-- navigation.html      # Top menu component
   |         |    |-- sidebar.html         # Sidebar component
   |         |    |-- footer.html          # App Footer
   |         |    |-- scripts.html         # Scripts common to all pages
   |         |
   |         |-- layouts/                  # Master pages
   |         |    |-- base-fullscreen.html # Used by Authentication pages
   |         |    |-- base.html            # Used by common pages
   |         |
   |         |-- accounts/                 # Authentication pages
   |         |    |-- login.html           # Login page
   |         |    |-- register.html        # Register page
   |         |
   |      index.html                       # The default page
   |     page-404.html                     # Error 404 page
   |     page-500.html                     # Error 404 page
   |       *.html                          # All other HTML pages
   |
   |-- authentication/                     # Handles auth routes (login and register)
   |    |
   |    |-- urls.py                        # Define authentication routes  
   |    |-- views.py                       # Handles login and registration  
   |    |-- forms.py                       # Define auth forms  
   |
   |-- app/                                # A simple app that serve HTML files
   |    |
   |    |-- views.py                       # Serve HTML pages for authenticated users
   |    |-- urls.py                        # Define some super simple routes  
   |
   |-- requirements.txt                    # Development modules - SQLite storage
   |
   |-- .env                                # Inject Configuration via Environment
   |-- manage.py                           # Start the app - Django default start script
   |
   |-- ************************************************************************

The bootstrap flow

  • Django bootstrapper manage.py uses core/settings.py as the main configuration file
  • core/settings.py loads the app magic from .env file
  • Redirect the guest users to Login page
  • Unlock the pages served by app node for authenticated users

Deployment

The app is provided with a basic configuration to be executed in Docker, Gunicorn, and Waitress.

Docker execution


The application can be easily executed in a docker container. The steps:

Get the code

$ git clone https://github.com/app-generator/django-datatables-sample.git
$ cd django-datatables-sample

Start the app in Docker

$ sudo docker-compose pull && sudo docker-compose build && sudo docker-compose up -d

Visit http://localhost:5005 in your browser. The app should be up & running.


Gunicorn


Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX.

Install using pip

$ pip install gunicorn

Start the app using gunicorn binary

$ gunicorn --bind=0.0.0.0:8001 core.wsgi:application
Serving on http://localhost:8001

Visit http://localhost:8001 in your browser. The app should be up & running.


Waitress


Waitress (Gunicorn equivalent for Windows) is meant to be a production-quality pure-Python WSGI server with very acceptable performance. It has no dependencies except ones that live in the Python standard library.

Install using pip

$ pip install waitress

Start the app using waitress-serve

$ waitress-serve --port=8001 core.wsgi:application
Serving on http://localhost:8001

Visit http://localhost:8001 in your browser. The app should be up & running.


Credits & Links



Django Datatables Sample - Provided by AppSeed Web App Generator.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].