Metadata-Version: 1.1
Name: django-admin-bootstrapped
Version: 2.0.5
Summary: A Bootstrap theme for Django Admin
Home-page: https://github.com/django-admin-bootstrapped/django-admin-bootstrapped
Author: Riccardo Magliocchetti
Author-email: riccardo.magliocchetti@gmail.com
License: BSD License
Description: django-admin-bootstrapped
        =========================
        
        |PyPI version|
        
        A Django admin theme using Bootstrap. It doesn't need any kind
        of modification on your side, just add it to the installed apps.
        
        Requirements
        ------------
        
        -  Django ``>=1.6``
        
        Installation
        ------------
        
        Since ``2.0`` we are targeting Bootstrap 3 and recent Django versions.
        The old ``1.x`` series works with Django ``>=1.4`` and  ``<1.7``.
        
        1. Download it from PyPi with ``pip install django-admin-bootstrapped``
        2. Add into the ``INSTALLED_APPS`` **before** ``'django.contrib.admin'``:
        
        ::
        
            'django_admin_bootstrapped.bootstrap3',
            'django_admin_bootstrapped',
        
        3. Have fun!
        
        Configuration
        -------
        
        `Messages <http://docs.djangoproject.com/en/dev/ref/contrib/messages>`__ will have ``alert-info`` tag by default, 
        so you may want to add Bootstrap 3 tags for different message levels to make them styled appropriately:
        ::
            from django.contrib import messages
            
            MESSAGE_TAGS = {
                        messages.SUCCESS: 'alert-success success',
                        messages.WARNING: 'alert-warning warning',
                        messages.ERROR: 'alert-danger error'
            }
        ::
        
        Now, adding messages like this:
        ::
            messages.success(request, "My success message")
            messages.warning(request, "My warning message")
            messages.error(request, "My error message")
        ::
        
        will result into this:
        
        .. image:: https://i.imgur.com/SQNMZZE.png
        
        Goodies
        -------
        
        Translate/change an application name with a template
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        With the default admin you can't change the application name, but
        django-admin-bootstrapped let you do it in a really easy way. Just
        create a file named ``admin_app_name.html`` into the application's
        template folder. Eg: ``myapp/templates/admin_app_name.html`` or
        ``project/templates/myapp/admin_app_name.html``. You can also change the
        default Django Administration title, just add a ``admin_title.html``
        file into your ``project/templates/admin/`` folder.
        
        Add custom html to the change form of any model with a template
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        You can inject custom html on top of any change form creating a template
        named ``admin_model_MODELNAME_change_form.html`` into the application's
        template folder. Eg:
        ``myapp/templates/myapp/admin_model_mymodelname_change_form.html`` or
        ``project/templates/myapp/admin_model_mymodelname_change_form.html``.
        
        Inline sortable
        ~~~~~~~~~~~~~~~
        
        You can add drag&drop sorting capability to any inline with a couple of
        changes to your code.
        
        First, add a ``position`` field in your model (and sort your model
        accordingly), for example:
        
        ::
        
            class TestSortable(models.Model):
                that = models.ForeignKey(TestMe)
                position = models.PositiveSmallIntegerField("Position")
                test_char = models.CharField(max_length=5)
        
                class Meta:
                    ordering = ('position', )
        
        Then in your admin.py create a class to handle the inline using the
        ``django_admin_bootstrapped.admin.models.SortableInline`` mixin, like
        this:
        
        ::
        
            from django_admin_bootstrapped.admin.models import SortableInline
            from models import TestSortable
        
            class TestSortable(admin.StackedInline, SortableInline):
                model = TestSortable
                extra = 0
        
        You can now use the inline as usual. The result will look like this:
        
        .. image:: https://riccardo.forina.me/static/screens/django_admin_bootstrapped_screen_inlines.png
        
        This feature was brought to you by `Kyle
        Bock <https://github.com/kwbock>`__. Thank you Kyle!
        
        XHTML Compatible
        ~~~~~~~~~~~~~~~~
        
        Compatible with both html and xhtml. To enable xhtml for your django app
        add the following to your settings.py: DEFAULT\_CONTENT\_TYPE =
        'application/xhtml+xml'
        
        Generic lookups in admin
        ~~~~~~~~~~~~~~~~~~~~~~~~
        
        .. image:: https://a248.e.akamai.net/camo.github.com/2848fec376b4af6d6a08e2a3a7d575569115f998/687474703a2f2f692e696d6775722e636f6d2f766970547453732e706e67
        
        All that needs to be done is change the admin widget with either
        formfield\_overrides like this:
        
        ::
        
            from django_admin_bootstrapped.widgets import GenericContentTypeSelect
        
            class SomeModelAdmin(admin.ModelAdmin):
                formfield_overrides = {
                    models.ForeignKey: {'widget': GenericContentTypeSelect},
                }
        
        Or if you want to be more specific:
        
        ::
        
            from django_admin_bootstrapped.widgets import GenericContentTypeSelect
        
            class SomeModelAdmin(admin.ModelAdmin):
                def formfield_for_dbfield(self, db_field, **kwargs):
                    if db_field.name == 'content_type':
                        kwargs['widget'] = GenericContentTypeSelect
                    return super(SomeModelAdmin, self).formfield_for_dbfield(db_field, **kwargs)
        
        If you decide on using ``formfield_overrides`` `you should be aware of
        its limitations with relation
        fields <https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.formfield_overrides>`__.
        
        This feature (and many more) was brought to you by `Jacob
        Magnusson <https://github.com/jmagnusson>`__. Thank you Jacob!
        
        Screenshots
        -----------
        
        Homepage
        ~~~~~~~~
        
        .. image:: https://riccardo.forina.me/static/screens/django_admin_bootstrapped_screen_v02_index.png
        
        List view with filters in dropdown
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        .. image:: https://riccardo.forina.me/static/screens/django_admin_bootstrapped_screen_v02_list_filter.png
        
        Change form view
        ~~~~~~~~~~~~~~~~
        
        .. image:: https://riccardo.forina.me/static/screens/django_admin_bootstrapped_screen_v02_change_form.png
        
        .. |PyPI version| image:: https://pypip.in/d/django-admin-bootstrapped/badge.png
           :target: https://pypi.python.org/pypi/django-admin-bootstrapped
        
Platform: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
