Giter Club home page Giter Club logo

app-generator / sample-django-datatables Goto Github PK

View Code? Open in Web Editor NEW
81.0 8.0 32.0 7.05 MB

Django - Datatables Sample | AppSeed

Home Page: https://django-datatables-sample.appseed.us

License: Other

Dockerfile 0.03% Python 1.82% CSS 77.04% JavaScript 1.52% HTML 19.58% Procfile 0.01%
django-bootstrap django-bs5-design django-coding-sample django-datatables django-datatables-serverside django-sample django-tables python-coding python-coding-solutions django-bootstrap-sample

sample-django-datatables's Introduction

Open-source DataTables Codebase powered by Django and actively supported by AppSeed.

Features

Have questions? Contact Support (Email & Discord) provided by AppSeed

Free Version PRO Version Custom Development
DataTables Everything in Free, plus: Everything in PRO, plus:
✓ Best Practices Premium Bootstrap 5 Design 1mo Custom Development
✓ Bootstrap 5 Design OAuth Google, GitHub Team: PM, Developer, Tester
CI/CD Flow via Render API, Charts ✅ Weekly Sprints
Docker DataTables (Filters, Export) ✅ Technical SPECS
- Celery ✅ Documentation
- Media Files Manager 30 days Delivery Warranty
- Extended User Profiles -
- Private REPO Access -
- PRO Support - Email & Discord -
- ✅ Deployment Assistance -
- - -
------------------------------------ ------------------------------------ ------------------------------------
- 🚀 LIVE Demo 🛒 Order: $4,999 (GUMROAD)

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

$ docker-compose up --build

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



Django Datatables Sample - Provided by AppSeed.

sample-django-datatables's People

Contributors

app-generator avatar benfaruna avatar imankarimi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sample-django-datatables's Issues

ModuleNotFoundError: No module named 'decouple'

Note: ticket opened in support (email). Here is the original message:

I'm having an issue starting the application based on the command lines provided in your Github: 
When I enter python manage.py runserver I get an error message saying:
from decouple import config
ModuleNotFoundError: No module named 'decouple'

This error bumps during usage.

FIX

  • Update project dependencies (latest stable Django)
  • Replace decouple dependency

I have problems with editing in row edit of the table template

When i reconfigure, list.html, edit_row.html change pattern urls, views, models, etc. I got in situation, that everithing is working, but when i double click on the row it opens prefiled fields, cancel button is working, but when i hit save button in edit_row.html i get error. I tried to find the error but i cannot find it. Can anyone help me with this?

the error:

Request body: b'task_id=3046.002&task_name=Djorjde&creation_date=2023-05-09&realization_date=2023-06-01&status=Ongoing&task_id=&task_name=&creation_date=&realization_date=&status='
Form data: <QueryDict: {'task_id': ['3046.002', ''], 'task_name': ['Djorjde', ''], 'creation_date': ['2023-05-09', ''], 'realization_date': ['2023-06-01', ''], 'status': ['Ongoing', '']}>
Form errors:

  • task_id
    • This field is required.
  • task_name
    • This field is required.
  • creation_date
      This field is required.
  • realization_date
    • This field is required.
  • status
    • This field is required.

this is from console after i put some debug console logs in views.py

....

def update_instance(self, request, pk, is_urlencode=False):
task = self.get_object(pk)
form_data = QueryDict(request.body) if is_urlencode else request.POST

    print("Request body:", request.body)  
    print("Form data:", form_data)  

    form = TaskForm(form_data, instance=task)
    # print(form_data)

    if form.is_valid():
        form.save()
        if not is_urlencode:
            messages.success(request, 'Transaction saved successfully')

        return True, 'Transaction saved successfully'
    else:
        print("Form errors:", form.errors) 

    if not is_urlencode:
        messages.warning(request, 'Error Occurred. Please try again.')
    return False, 'Error Occurred. Please try again.'

Everithing else is functioning, like edit button in row of volt in drop down and saving changes etc.

issue after edit and save row

Hello,
I have weird issue, when I edit row in the transaction table, ( inline edit) it updates successfully, but the record detail does not appear until I refresh the page again or double click again on the record,
I really think that the issue is related to JS issue, because I have install this git repo and tried the transaction table edit and it works correctly.

but in my setup - which is likely the same as the repo, it shows the problem

I have attached an image for the record after update..

Capture

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.