Inline object rendering for django, based on django-basic-apps + filters + templates
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
improved_inlines
.gitignore
AUTHORS
LICENSE.txt
README.rst
setup.py

README.rst

Django Improved Inlines

Django improved inlines is a version of the inlines app from django-basic-apps that has a few specific features that I needed:

  • filter="" instead of just ids= and id=
  • template="" instead of just inlines/<app>_<model>.html
  • Support for non-<inline> tags by prefixing "data-inline-" to type, ids, id, filter

Thanks to nathanborror for the initial code.

Dependancies

Usage

Install in INSTALLED_APPS so the templates can be found

"improved_inlines"

Inlines is a template filter that can be used in conjunction with inline markup to insert content objects into other pieces of content. An example would be inserting a photo into a blog post body.

Drop-in replacement for django-basic-inlines/inlines

An example of the markup is::
<inline type="calendar.event" filter="date__gte=datetime.date.today()" template="calendar/event_inline.html" />
other attribute options are::
<inline type="app.model" id="<some pk>" class="some_class_passed_to_template"/> <inline type="app.model" ids="<some pk>,<some other pk>" />
examples with other tags::
<div data-inline-type="app.model" data-inline-id="<some pk>"></div> <ul data-inline-type="app.model" data-inline-ids="<some pk>,<some other pk>"></ul> <p data-inline-type="app.model" data-inline-filter="title__containts='title-string'"></p>

The type attribute is app_name.model_name and the id is the object id. Pretty simple.

In your template you would say::
{% load inlines %} {{ post.body|render_inlines }}