Metadata-Version: 1.0
Name: django-configuration
Version: 0.0.2
Summary: Configuration admin/models for Django.
Home-page: https://github.com/fah-designs/django-configuration
Author: Richard Ward
Author-email: richard.ward@fah-designs.co.uk
License: MIT
Description: ====================
        Django Configuration
        ====================
        
        Some site wide settings belong in the database. This Django-Configure provides
        a familiar way to implement this pattern. It uses django-polymorphic, mostly to
        provide a clean admin interface. Any model field can be used in a
        configuration, and any of the standard django admin utilities (like
        permissions) can be used.
        
        
        Installation
        ============
        
            pip install django-configuration
        
        
        Usage
        =====
        
        In ``myapp/models.py``:::
        
            from configuration.models import Configuration
        
            class MyConfiguration(Configuration):
                my_var = models.CharField(max_length=255, default='Hello!')
        
        
        Then elsewhere:::
        
            >>> from myapp.models import MyConfiguration
            >>> print MyConfiguration.objects.get()
            Hello!
        
        
        A Configuration instance is not saved to the database until ``save`` is
        explicitly called or until it is saved in the admin, so it is important to
        specify default values on your fields.
        
        A custom admin interface can be provided as follows:::
        
            from configuration.models import Configuration
            from configuration.admin import ConfigurationAdmin
            
            class MyAdmin(ConfigurationAdmin):
                pass
            
            class MyConfiguration(Configuration):
                my_var = models.CharField(max_length=255, default='Hello!')
        
                admin_class = MyAdmin
        
        The admin class must inherit from ``ConfigurationAdmin``. The admin_class
        attribute can also be given as a dotted string:::
        
            class MyConfiguration(Configuration):
                my_var = models.CharField(max_length=255, default='Hello!')
        
                admin_class = 'myapp.admin.MyAdmin'
        
        Efficiency and Caching
        ======================
        Django-Configuration is quick, easy and intuitive, and allows you to follow
        django patterns. However it is not the most efficient method of keeping
        configuration optinos in the database. The use of django-polymorphic allows for
        a great admin interface but makes queries more costly. The library currently
        provides no caching - although caching apps that cache query results should
        help with that.
        
Platform: UNKNOWN
