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/views/(?P<view>[^/]+)/$', 'django.views.admin.doc.view_detail'),
|
||||||
('^doc/models/$', 'django.views.admin.doc.model_index'),
|
('^doc/models/$', 'django.views.admin.doc.model_index'),
|
||||||
('^doc/models/(?P<model>[^/]+)/$', 'django.views.admin.doc.model_detail'),
|
('^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:
|
if 'ellington.events' in INSTALLED_APPS:
|
||||||
|
|
|
@ -218,6 +218,27 @@ def model_detail(request, model):
|
||||||
})
|
})
|
||||||
return HttpResponse(t.render(c))
|
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 #
|
# Helper functions #
|
||||||
####################
|
####################
|
||||||
|
|
Loading…
Reference in New Issue