Metadata-Version: 2.1
Name: django-agilesites
Version: 1.0.2rc2
Summary: Dynamic switching of the settings.SIDE_ID for a Django Project
Home-page: https://github.com/pivotal-energy-solutions/django-agilesites
Author: Pivotal Energy Solutions
Author-email: sklass@pivotalenergysolutions.com
License: UNKNOWN
Download-URL: https://github.com/pivotal-energy-solutions/django-agilesites/archive/1.0.2-rc2.tar.gz
Project-URL: Source, https://github.com/pivotal-energy-solutions/django-agilesites
Project-URL: Bug Reports, https://github.com/pivotal-energy-solutions/django-agilesites/issues
Project-URL: Say Thanks!, http://saythanks.io/to/rh0dium
Description: Django Agile Sites (django_agilesites)
        ==================
        
        This provides django the ability of dynamic switching of the settings.SIDE_ID.  This allows
        you to then alter the template paths based on the SITE_ID by referencing settings.SITE_FOLDERS.
        
        The way this works is first by dynamically setting (thread-safe) the settings.SITE_ID based on
        the request.get_host() (which is based in part on request.META['HTTP_HOST']).  Once the SITE_ID
        is established, then it uses that to dynamically look up any template path folder structure you 
        define.
        
        
        Example / Setup
        ---
        
        Lets assume we want to have all traffic going to //beta.foo.com to use our new templates tree 
        called 'beta' for a new template `app_detail.html`.  This app will allows you to place the 
        following templates folder structure in your app to achieve this:
        
            app/
                templates/
                    app/
                        app_detail.html
                        app_list.html
                    beta/
                        app_detail.html
                        
        
        We need to reference the two sites in question - so in the sites app assume the following.
            SITE_ID: 1  domain: foo.com
            SITE_ID: 2  domain: beta.foo.com
            
        Now to enable this to work you need to do the following:
        
        1.  Add the `django_agilesites` to the settings.INSTALLED_APPS
        2.  Add the `django_agilesites.loaders.AgileSiteAppDirectoriesFinder` 
        to the settings.TEMPLATE_LOADERS.  I put it _first_.
        3.  Add the `django_agilesites.middleware.AgileSitesMiddleware'` to the 
        settings.MIDDLEWARE_CLASSES
        4.  Add the following settings to reference the folder beta.
        
        
            SITE_FOLDERS = {
                2: 'beta',
            }
        
        
        That's it.  
        
        Now when you go to //beta.foo.com/app/detail you will use the template in the beta tree and when 
        you go to the list view on beta it will refer to the parent app_list.html.
        
        
        Notes:
        ---
        
        
        1.  You do NOT need to reference the SITE_ID 1 as there isn't a path change for that.
        2.  You don't have to put every url.  We also support the notion of aliases through the use of
        settings.SITE_ALIASES dictionary.  This will force //beta.bar.com to also use the beta templates.
        
        
            SITE_ALIASES = {
                'beta.bar.com': 2,
            }
        
        
        ### Build Process:
        1.  Update the `__version_info__` inside of the application. Commit and push.
        2.  Tag the release with the version. `git tag <version> -m "Release"; git push --tags`
        3.  Build the release `rm -rf dist build *egg-info; python setup.py sdist bdist_wheel`
        4.  Upload the data `twine upload dist/*`
        
        Have fun!
        
Keywords: django sites
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/markdown
