Revision: 21844
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 22, 2009 15:06 by magicrebirth
Initial Code
# FIRST: from django import template from poms.pomsapp import models register = template.Library() # for People template @register.inclusion_tag('admin/snippets/personfactoid_info.html') def display_personfactoids(person_id): person = models.Person.objects.get(id__exact=person_id) # factoids = models.Factoids.objects.filter(people=person) return { 'person': person } ## SECOND: {% if person.assocfactoidperson_set.all %} <b>Person associated to factoids:</b></br /> <table> <tr> <th>Record ID</th> <th>Type</th> <th>Short Summary</th> <th>Role</th> <th>Source</th> </tr> {% for a in person.assocfactoidperson_set.all %} <tr> <td>{{a.factoid.id}}</td> <td>{{a.factoid.get_right_subclass.0}}    </td> <td><a href="{% url factoid_detail a.factoid.id %}" title="click to show">{{a.factoid}}</a></td> <td>{{a.role}}</td> <td><a href="{% url source_detail a.factoid.sourcekey.id %}" title="click to show">{{a.factoid.sourcekey}}</a></td> </tr> {% endfor %} </table> <br /><hr><hr><hr><br /> {% endif %} ## THIRD ........ {% block related_items_block %}{% endblock %} ........ ## FOURTH {% extends "admin/change_form.html" %} {% load myadmin_tags %} {% block related_items_block %} <h2>Additional information:</h2><br /> {% if object_id %} {% display_personfactoids object_id %} {% endif %} {% endblock %}
Initial URL
Initial Description
First: create a file under djangoapp/templatetags where you define your tags [e.g.: myadmin_tags.py]: Second: create the html snippets that get loaded in those tags [e.g., personfactoid_info.html]: Third: in mytemplates/admin/ modify change_form.html (if you don't have it just copy it from the django-admin app). You must add a placeholder for the new templatetags (probably you want to add it at the bottom of the page): FOurth: create a new change_form.html in the same directory as above, but under your model template [e.g., mytemplates/admin/myapp/mymodel/change_form.html] so to override the behaviour just for that. The 'object_id' variable is passed by the admin template by default:
Initial Title
Django: adding new admin_tags
Initial Tags
python, django
Initial Language
Django