Metadata-Version: 1.1
Name: django-template-field
Version: 0.3.1
Summary: A Django fitemplate field twith managers to return the rendered or unrendered template.
Home-page: https://github.com/orcasgit/django-template-field
Author: Jess Johnson
Author-email: jess@grokcode.com
License: BSD
Description: =============================
        django-template-field
        =============================
        
        .. image:: https://badge.fury.io/py/django-template-field.png
            :target: https://badge.fury.io/py/django-template-field
        
        .. image:: https://travis-ci.org/orcasgit/django-template-field.png?branch=master
            :target: https://travis-ci.org/orcasgit/django-template-field
        
        A Django template field with a manager to return the rendered template.
        
        Documentation
        -------------
        
        The full documentation is at https://django-template-field.readthedocs.org.
        
        Quickstart
        ----------
        
        Install django-template-field::
        
            pip install django-template-field
        
        Then use it in a project::
        
            from django.db import models
        
            from templatefield import fields, managers
        
        
            class TemplatedText(models.Model):
                value = fields.TemplateTextField()
        
                # Manager that returns rendered templates. This will be the default
                # manager since it is first. Now, when accessed via `Related Models`_
                # this field will also be rendered.
                objects_rendered = managers.RenderTemplateManager()
                # Django's default manager returns unrendered templates.
                objects_unrendered = models.Manager()
        
        Extra context can be added in ``settings`` like so:
        
            TEMPLATE_FIELD_CONTEXT = { 'template_var': value }
        
        Context can also be added to querysets like so:
        
            TemplatedText.objects_rendered.with_context({'template_var2': value2})
        
        If you dump fixtures with ``RenderTemplateManager`` as the default manager,
        django will render the exported data. To work around that, create an alternate
        settings file for your project with the following setting:
        
            TEMPLATE_FIELD_RENDER = False
        
        Then you can dump your unrendered data like so:
        
            ./manage.py dumpdata myapp.mymodel --settings=myapp.dump_settings
        
        
        Related Models
        --------------
        
        If a ``TemplateTextField`` will be accessed from another model through a
        ``ForeignKey`` relationship, Django will use the default manager to render the
        ``TemplateTextField``. For example, if we define this additional model:
        
            class RelatedToTemplatedText(models.Model):
                templated_text = models.ForeignKey(TemplatedText)
        
        We can expect to see fields accessed via ``templated_text`` rendered properly.
        
        Admin
        -----
        
        Using ``RenderTemplateManager`` as the default has the unfortunate side effect
        of rendering your fields in the Django admin, so we have provided a class from
        which you can inherit to solve that problem. Ex:
        
            from templatefield import admin
        
            class TemplatedTextAdmin(admin.UnrenderedAdmin):
                ...
        
        Running Tests
        --------------
        
        
            source <YOURVIRTUALENV>/bin/activate
            (myenv) $ pip install -r requirements/test.txt
            (myenv) $ python runtests.py
        
        
        
        
        History
        -------
        
        0.3.1 (2016-01-11)
        ++++++++++++++++++
        
        * Add setting to disable rendering
        
        
        0.3.0 (2016-01-06)
        ++++++++++++++++++
        
        * Enable rendering in related field access
        
        
        0.2.0 (2015-10-23)
        ++++++++++++++++++
        
        * Add `with_context` to `RenderTemplateManager`
        
        
        0.1.0 (2015-10-02)
        ++++++++++++++++++
        
        * First release on PyPI.
        
Keywords: django-template-field
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.7
Classifier: Framework :: Django :: 1.8
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: Implementation :: PyPy
