Metadata-Version: 1.1
Name: django_data_tables
Version: 0.4.3
Summary: Framework to create dynamic data table views in Django
Home-page: https://gitlab.brolabs.de/pwach/django_data_tables
Author: Paul Wachendorf
Author-email: paul.wachendorf@web.de
License: MIT License
Description: =====================
        Django Data Tables
        =====================
        
        Django Data Tables is a Framework for Django that creates model related Data Tables that fetch
        filtered data via AJAX Requests and allow different actions on model instances.
        
        This is a reimplementation of a libary that was developed and heavily used in a big inhouse
        enterprise software at Studitemps GmbH. This implemetation is still in a very early stage of development.
        You can play around but expect a few breaking changes before reaching version 1.0.0.
        
        Detailed documentation is still missinig but will be added hopefully soon.
        
        Quick start
        -----------
        
        1. Add "django_data_tables" to your INSTALLED_APPS in your settings.py
        like this::
        
            INSTALLED_APPS = [
                ...
                'django_data_tables',
                ...
            ]
        
        2. Include the autodiscover and  URLconf in your project urls.py
        like this::
        
            from django_data_tables.utils import autodiscover as ddt_autodiscover
            from django_data_tables import views as dt_views
        
            ddt_autodiscover()
            
            ...
            path('ddt/get_data/<table_name>/', dt_views.get_data, name='ddt-get_data'),
            path('ddt/action/<table_name>', dt_views.action, name='ddt-action'),
            ...
        
        3. Create a tables.py in an app where you want
        to create a data table with something like this::
        
           import django_data_tables as ddt
        
           from .forms import MyEditForm
        
           class EditAction(ddt.FormAction):
                name = 'Edit'
                form_class = MyEditForm
        
                def success(self, form, obj):
                    form.save()
        
        
           class BaseDataTable(ddt.DataTable):
                columns = [
                   ddt.IdColumn('id'),
                   ddt.ModelFieldColumn('<some existing field e.g. "name">',
                   ddt.ActionColumn('Do')
                ]
                filters = {'id_filter': ddt.IntFilter('id'),}
                actions = [EditAction,]
                model = '<your_app_name>.<YourModel>'
        
        
        4. In your view create a table renderer instance and pass it into the
        renderers context. So in your apps views do something like that::
        
           from .tables import BaseDataTable
        
           ...
        
           def my_fancy_view(request):
               table = BaseDataTable().get_renderer(request)
               return render(request, 'app/my_views_template.html', {'table': table})
        
        
        5. In my_views_template.html render the table (very similar
        to django forms::
        
           <html>
               <head>
               {{ table.media }}
               </head>
               <body>
                   <h1>Example for a Django Data Table Renderer</h1>
                   {{ table }}
               </body>
           </html>
        
        
        6. Create a route to your view in urls as usual an
        test it
        
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 2.0
Classifier: Framework :: Django :: 2.1
Classifier: Framework :: Django :: 2.2
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
