Added doc view for templates that will show the search path for a given template on each site
git-svn-id: http://code.djangoproject.com/svn/django/trunk@392 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
ce0d0cd9e2
commit
49c6708716
|
@ -0,0 +1,21 @@
|
|||
{% extends "base_site" %}
|
||||
|
||||
{% block breadcrumbs %}<div class="breadcrumbs"><a href="../../../">Home</a> › <a href="../../">Documentation</a> › Templates › {{ name }}</div>{% endblock %}
|
||||
|
||||
{% block title %}Template: {{ name }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Template: "{{ name }}"</h1>
|
||||
|
||||
{% regroup templates|dictsort:"site_id" by site as templates_by_site %}
|
||||
{% for group in templates_by_site %}
|
||||
<h2>Search path for template "{{ name }}" on {{ group.grouper }}:</h2>
|
||||
<ol>
|
||||
{% for template in group.list|dictsort:"order" %}
|
||||
<li><code>{{ template.file }}</code>{% if not template.exists %} <em>(does not exist)</em>{% endif %}</li>
|
||||
{% endfor %}
|
||||
</ol>
|
||||
{% endfor %}
|
||||
|
||||
<p class="small"><a href="../../">‹ Back to Documentation</a></p>
|
||||
{% endblock %}
|
|
@ -18,6 +18,8 @@ urlpatterns = (
|
|||
('^doc/views/(?P<view>[^/]+)/$', 'django.views.admin.doc.view_detail'),
|
||||
('^doc/models/$', 'django.views.admin.doc.model_index'),
|
||||
('^doc/models/(?P<model>[^/]+)/$', 'django.views.admin.doc.model_detail'),
|
||||
# ('^doc/templates/$', 'django.views.admin.doc.template_index'),
|
||||
('^doc/templates/(?P<template>.*)/$', 'django.views.admin.doc.template_detail'),
|
||||
)
|
||||
|
||||
if 'ellington.events' in INSTALLED_APPS:
|
||||
|
|
|
@ -218,6 +218,27 @@ def model_detail(request, model):
|
|||
})
|
||||
return HttpResponse(t.render(c))
|
||||
|
||||
def template_detail(request, template):
|
||||
templates = []
|
||||
for site_settings_module in settings.ADMIN_FOR:
|
||||
settings_mod = __import__(site_settings_module, '', '', [''])
|
||||
for dir in settings_mod.TEMPLATE_DIRS:
|
||||
template_file = os.path.join(dir, "%s.html" % template)
|
||||
templates.append({
|
||||
'file' : template_file,
|
||||
'exists' : os.path.exists(template_file),
|
||||
'contents' : lambda: os.path.exists(template_file) and open(template_file).read() or '',
|
||||
'site_id' : settings_mod.SITE_ID,
|
||||
'site' : sites.get_object(pk=settings_mod.SITE_ID),
|
||||
'order' : list(settings_mod.TEMPLATE_DIRS).index(dir),
|
||||
})
|
||||
t = template_loader.get_template('doc/template_detail')
|
||||
c = Context(request, {
|
||||
'name' : template,
|
||||
'templates' : templates,
|
||||
})
|
||||
return HttpResponse(t.render(c))
|
||||
|
||||
####################
|
||||
# Helper functions #
|
||||
####################
|
||||
|
|
Loading…
Reference in New Issue