Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Added default Django admin templates

git-svn-id: http://code.djangoproject.com/svn/django/trunk@92 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 52f5c949e9b50ae3b0034d67f2d385219588aaf1 1 parent 40b8afa
@adrianholovaty adrianholovaty authored
View
11 templates/admin/404.html
@@ -0,0 +1,11 @@
+{% extends "base_site" %}
+
+{% block title %}Page not found{% endblock %}
+
+{% block content %}
+
+<h2>Page not found</h2>
+
+<p>We're sorry, but the requested page could not be found.</p>
+
+{% endblock %}
View
11 templates/admin/500.html
@@ -0,0 +1,11 @@
+{% extends "base_site" %}
+
+{% block breadcrumbs %}<div class="breadcrumbs"><a href="/">Home</a> &rsaquo; Server error</div>{% endblock %}
+
+{% block title %}Server error (500){% endblock %}
+
+{% block content %}
+<h1>Server Error <em>(500)</em></h1>
+<p>There's been an error. It's been reported to the site administrators via e-mail and should be fixed shortly. Thanks for your patience.</p>
+
+{% endblock %}
View
42 templates/admin/admin_object_history.html
@@ -0,0 +1,42 @@
+{% extends "base_site" %}
+
+{% block breadcrumbs %}
+<div class="breadcrumbs"><a href="../../../../">Home</a> &rsaquo; <a href="../../">{{ module_name }}</a> &rsaquo; <a href="../">{{ object|truncatewords:"18" }}</a> &rsaquo; History</div>
+{% endblock %}
+
+{% block content %}
+
+<div id="content-main">
+<div class="module">
+
+{% if action_list %}
+
+ <table id="change-history">
+ <thead>
+ <tr>
+ <th>Date/time</th>
+ <th>User</th>
+ <th>Action</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for action in action_list %}
+ <tr>
+ <th>{{ action.action_time|date:"N j, Y, P" }}</th>
+ <td>{{ action.get_user.username }}{% if action.get_user.first_name %} ({{ action.get_user.first_name }} {{ action.get_user.last_name }}){% endif %}</td>
+ <td>{{ action.change_message}}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+
+{% else %}
+
+ <p>This object doesn't have a change history. It probably wasn't added via this admin site.</p>
+
+{% endif %}
+
+</div>
+</div>
+
+{% endblock %}
View
51 templates/admin/base.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xml:lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<title>{% block title %}{% endblock %}</title>
+<link rel="stylesheet" type="text/css" href="{% block stylesheet %}/m/css/base.css{% endblock %}" />
+{% block extrastyle %}{% endblock %}
+{% block extrahead %}{% endblock %}
+</head>
+
+<body class="{% if is_popup %}popup {% endif %}{% block bodyclass %}{% endblock %}">
+
+<!-- Container -->
+<div id="container">
+
+ {% if not is_popup %}
+ <!-- Header -->
+ <div id="header">
+ <div id="branding">
+ {% block branding %}{% endblock %}
+ </div>
+ {% if not user.is_anonymous %}
+ <div id="user-tools">Welcome, <strong>{% if user.first_name %}{{ user.first_name }}{% else %}{{ user.username }}{% endif %}</strong>. <br /><a href="/password_change/">Change password</a> / <a href="/logout/">Logout</a></div>
+ {% endif %}
+ {% block nav-global %}{% endblock %}
+ <br class="clear" />
+ </div>
+ <!-- END Header -->
+ {% block breadcrumbs %}<div class="breadcrumbs"><a href="/">Home</a>{% if title %} &rsaquo; {{ title }}{% endif %}</div>{% endblock %}
+ {% endif %}
+
+ {% if messages %}
+ <ul class="messagelist">{% for message in messages %}<li>{{ message }}</li>{% endfor %}</ul>
+ {% endif %}
+
+ <!-- Content -->
+ <div id="content" class="{% block coltype %}colM{% endblock %}">
+ {% block pretitle %}{% endblock %}
+ {% if title %}<h1>{{ title }}</h1>{% endif %}
+ {% block content %}{{ content }}{% endblock %}
+ {% block sidebar %}{% endblock %}
+ <br class="clear" />
+ </div>
+ <!-- END Content -->
+
+ <div id="footer"></div>
+</div>
+<!-- END Container -->
+
+</body>
+</html>
View
10 templates/admin/base_site.html
@@ -0,0 +1,10 @@
+{% extends "base" %}
+
+{% block title %}{{ title }} | Django site admin{% endblock %}
+
+{% block branding %}
+<h1 id="site-name">Django administration</h1>
+<h2 id="site-url"><a href="http://www.mysite.com/">mysite.com</a></h2>
+{% endblock %}
+
+{% block nav-global %}{% endblock %}
View
34 templates/admin/changelist_generic.html
@@ -0,0 +1,34 @@
+{% extends "base_site" %}
+
+{% block bodyclass %}change-list{% endblock %}
+
+{% block content %}
+
+{% if not hide_add_link %}
+<ul class="object-tools"><li><a href="/{{ admin_url }}/add/" class="addlink">Add {{ object_name }}</a></li></ul>
+{% endif %}
+
+<div id="content-main">
+<div class="module">
+
+ {% if toplinks %}
+ <ul class="toplinks">
+ {% for toplink in toplinks %}
+ <li><a href="{{ toplink.link }}/">{{ toplink.text }}/</a></li>
+ {% endfor %}
+ </ul>
+ <hr />
+ {% endif %}
+
+ {% if changelist %}
+ <ul class="changelist">
+ {% for obj in changelist %}
+ <li class="{% cycle row1,row2 %}"><a href="/{{ admin_url }}/change/{{ obj.id }}/" title="Click to change">{{ obj|striptags|escape }}</a></li>
+ {% endfor %}
+ </ul>
+ {% endif %}
+
+</div>
+</div>
+
+{% endblock %}
View
21 templates/admin/delete_confirmation_generic.html
@@ -0,0 +1,21 @@
+{% extends "base_site" %}
+
+{% block content %}
+
+{% if perms_lacking %}
+ <p>Deleting the {{ object_name }} "{{ object }}" would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:</p>
+ <ul>
+ {% for obj in perms_lacking %}
+ <li>{{ obj }}</li>
+ {% endfor %}
+ </ul>
+{% else %}
+ <p>Are you sure you want to delete the {{ object_name }} "{{ object }}"? All of the following related items will be deleted:</p>
+ <ul>{{ deleted_objects|unordered_list }}</ul>
+ <form action="" method="post">
+ <input type="hidden" name="post" value="yes" />
+ <input type="submit" value="Yes, I'm sure" />
+ </form>
+{% endif %}
+
+{% endblock %}
View
30 templates/admin/doc/bookmarklets.html
@@ -0,0 +1,30 @@
+{% extends "base_site" %}
+
+{% block breadcrumbs %}<div class="breadcrumbs"><a href="/">Home</a> &rsaquo; <a href="/doc/">Documentation</a> &rsaquo; Bookmarklets</div>{% endblock %}
+
+{% block title %}Documentation bookmarklets{% endblock %}
+
+{% block content %}
+
+<p class="help">To install bookmarklets, drag the link to your bookmarks
+toolbar, or right-click the link and add it to your bookmarks. Now you can
+select the bookmarklet from any page in the site. Note that some of these
+bookmarklets require you to be viewing the site from a computer designated
+as "internal" (talk to your system administrator if you aren't sure if
+your computer is "internal").</p>
+
+<div id="content-main">
+ <h3><a href="javascript:(function(){if(typeof ActiveXObject!='undefined'){x=new ActiveXObject('Microsoft.XMLHTTP')}else if(typeof XMLHttpRequest!='undefined'){x=new XMLHttpRequest()}else{return;}x.open('HEAD',location.href,false);x.send(null);try{view=x.getResponseHeader('x-view');}catch(e){alert('No view found for this page');return;}if(view=="undefined"){alert("No view found for this page");}document.location='{{ admin_url }}/doc/views/'+view+'/';})()">Documentation for this page</a></h3>
+ <p>Jumps you from any page to the documentation for the view that generates that page.</p>
+
+ <h3><a href="javascript:(function(){if(typeof ActiveXObject!='undefined'){x=new ActiveXObject('Microsoft.XMLHTTP')}else if(typeof XMLHttpRequest!='undefined'){x=new XMLHttpRequest()}else{return;}x.open('GET',location.href,false);x.send(null);try{type=x.getResponseHeader('x-object-type');id=x.getResponseHeader('x-object-id');}catch(e){type='(none)';id='(none)';}d=document;b=d.body;e=d.createElement('div');e.id='xxxhhh';s=e.style;s.position='absolute';s.left='10px';s.top='10px';s.font='10px monospace';s.border='1px black solid';s.padding='4px';s.backgroundColor='#eee';e.appendChild(d.createTextNode('Type: '+type));e.appendChild(d.createElement('br'));e.appendChild(d.createTextNode('ID: '+id));e.appendChild(d.createElement('br'));l=d.createElement('a');l.href='#';l.onclick=function(){b.removeChild(e);};l.appendChild(d.createTextNode('[close]'));l.style.textDecoration='none';e.appendChild(l);b.appendChild(e);})();">Show object ID</a></h3>
+ <p>Shows the content-type and unique ID for pages that represent a single object.</p>
+
+ <h3><a href="javascript:(function(){if(typeof ActiveXObject!='undefined'){var x=new ActiveXObject('Microsoft.XMLHTTP')}else if(typeof XMLHttpRequest!='undefined'){var x=new XMLHttpRequest()}else{return;}x.open('GET',location.href,false);x.send(null);try{var type=x.getResponseHeader('x-object-type');var id=x.getResponseHeader('x-object-id');}catch(e){return;}document.location='{{ admun_url }}/'+type.split('.').join('/')+'/'+id+'/';})()">Edit this object (current window)</a></h3>
+ <p>Jumps to the admin page for pages that represent a single object.</p>
+
+ <h3><a href="javascript:(function(){if(typeof ActiveXObject!='undefined'){var x=new ActiveXObject('Microsoft.XMLHTTP')}else if(typeof XMLHttpRequest!='undefined'){var x=new XMLHttpRequest()}else{return;}x.open('GET',location.href,false);x.send(null);try{var type=x.getResponseHeader('x-object-type');var id=x.getResponseHeader('x-object-id');}catch(e){return;}window.open('{{ admun_url }}/'+type.split('.').join('/')+'/'+id+'/');})()">Edit this object (new window)</a></h3>
+ <p>As above, but opens the admin page in a new window.</p>
+</div>
+
+{% endblock %}
View
31 templates/admin/doc/index.html
@@ -0,0 +1,31 @@
+{% extends "base_site" %}
+
+{% block breadcrumbs %}<div class="breadcrumbs"><a href="/">Home</a> &rsaquo; Documentation</div>{% endblock %}
+
+{% block title %}Documentation{% endblock %}
+
+{% block content %}
+
+<h1>Documentation</h1>
+
+<div id="content-main">
+ <h3><a href="tags/">Tags</a></h3>
+ <p>List of all the template tags and their functions.</p>
+
+ <h3><a href="filters/">Filters</a></h3>
+ <p>Filters are actions which can be applied to variables in a template to alter the output.</p>
+
+ <h3><a href="models/">Models</a></h3>
+ <p>Models are descriptions of all the objects in the system and their associated fields. Each model has a list of fields which can be accessed as template variables.</p>
+
+ <h3><a href="views/">Views</a></h3>
+ <p>Each page on the public site is generated by a view. The view defines which template is used to generate the page and which objects are available to that template.</p>
+
+ <h3><a href="views/">Views</a></h3>
+ <p>Each page on the public site is generated by a view. The view defines which template is used to generate the page and which objects are available to that template.</p>
+
+ <h3><a href="bookmarklets/">Bookmarklets</a></h3>
+ <p>Tools for your browser to quickly access admin functionality.</p>
+</div>
+
+{% endblock %}
View
17 templates/admin/doc/missing_docutils.html
@@ -0,0 +1,17 @@
+{% extends "base_site" %}
+
+{% block breadcrumbs %}<div class="breadcrumbs"><a href="/">Home</a> &rsaquo; Documentation</div>{% endblock %}
+
+{% block title %}Please install docutils{% endblock %}
+
+{% block content %}
+
+<h1>Documentation</h1>
+
+<div id="content-main">
+ <h3>The admin documentation system requires Python's <a href="http://docutils.sf.net/">docutils</a> library.</h3>
+
+ <p>Please ask your administrators to install <a href="http://docutils.sf.net/">docutils</a>.</p>
+</div>
+
+{% endblock %}
View
46 templates/admin/doc/model_detail.html
@@ -0,0 +1,46 @@
+{% extends "base_site" %}
+
+{% block extrahead %}
+
+{{ block.super }}
+
+<style type="text/css">
+
+.module table { width:100%; }
+
+</style>
+
+{% endblock %}
+
+{% block breadcrumbs %}<div class="breadcrumbs"><a href="/">Home</a> &rsaquo; <a href="/doc/">Documentation</a> &rsaquo; <a href="/doc/models/">Models</a> &rsaquo; {{ name }}</div>{% endblock %}
+
+{% block title %}Model: {{ name }}{% endblock %}
+
+{% block content %}
+<div id="content-main">
+<h1>{{ summary }}</h1>
+
+<div class="module">
+<table class="model">
+<thead>
+<tr>
+ <th>Field</th>
+ <th>Type</th>
+ <th>Description</th>
+</tr>
+</thead>
+<tbody>
+{% for field in fields|dictsort:"name" %}
+<tr>
+ <td>{{ field.name }}</td>
+ <td>{{ field.data_type }}</td>
+ <td>{{ field.verbose|default:"" }}{% if field.help_text %} - {{ field.help_text }}{% endif %}</td>
+</tr>
+{% endfor %}
+</tbody>
+</table>
+</div>
+
+<p class="small"><a href="../">&lsaquo; Back to Models Documentation</p>
+</div>
+{% endblock %}
View
44 templates/admin/doc/model_index.html
@@ -0,0 +1,44 @@
+{% extends "base_site" %}
+
+{% block coltype %}colSM{% endblock %}
+
+{% block breadcrumbs %}<div class="breadcrumbs"><a href="/">Home</a> &rsaquo; <a href="/doc/">Documentation</a> &rsaquo; Models</div>{% endblock %}
+
+{% block title %}Models{% endblock %}
+
+{% block content %}
+
+<h1>Models Documentation</h1>
+
+<div id="content-main">
+{% regroup models|dictsort:"module" by module as grouped_models %}
+{% for group in grouped_models %}
+<div class="module">
+<h2 id='{{ group.grouper }}'>{{ group.grouper }}</h2>
+
+<table class="xfull">
+{% for model in group.list %}
+<tr>
+<th><a href="{{ model.name }}/">{{ model.class }}</a></th>
+</tr>
+{% endfor %}
+</table>
+</div>
+{% endfor %}
+
+</div>
+{% endblock %}
+
+{% block sidebar %}
+<div id="content-related" class="sidebar">
+<div class="module">
+<h2>Model Groups Quick List</h2>
+<ul>
+{% regroup models|dictsort:"module" by module as grouped_models %}
+{% for group in grouped_models %}
+ <li><a href="#{{ group.grouper }}">{{ group.grouper }}</a></li>
+{% endfor %}
+</ul>
+</div>
+</div>
+{% endblock %}
View
54 templates/admin/doc/template_filter_index.html
@@ -0,0 +1,54 @@
+{% extends "base_site" %}
+
+
+{% block coltype %}colSM{% endblock %}
+
+
+
+{% block breadcrumbs %}<div class="breadcrumbs"><a href="/">Home</a> &rsaquo; <a href="/doc/">Documentation</a> &rsaquo; filters</div>{% endblock %}
+
+
+{% block title %}Template filters{% endblock %}
+
+{% block content %}
+
+<h1>Template filter documentation</h1>
+
+<div id="content-main">
+{% regroup filters|dictsort:"library" by library as filter_libraries %}
+{% for library in filter_libraries %}
+<div class="module">
+ <h2>{% if library.grouper %}{{ library.grouper }}{% else %}Built-in filters{% endif %}</h2>
+ {% if library.grouper %}<p class="small quiet">To use these filters, put <code>{% templatetag openblock %} load {{ library.grouper }} {% templatetag closeblock %}</code> in your template before using the filter.</p><hr>{% endif %}
+ {% for filter in library.list|dictsort:"name" %}
+ <h3 id="{{ filter.name }}">{{ filter.name }}</h3>
+ <p>{{ filter.title }}</p>
+ <p><strong>Usage:</strong> <code>{% templatetag openvariable %} variable|{{ filter.name }}{% if filter.meta.AcceptsArgument %}:"arg"{% endif %} {% templatetag closevariable %}</code></p>
+ <p>{{ filter.body }}</p>
+ {% if not forloop.last %}<hr />{% endif %}
+ {% endfor %}
+</div>
+{% endfor %}
+</div>
+
+{% endblock %}
+
+{% block sidebar %}
+
+<div id="content-related">
+
+{% regroup filters|dictsort:"library" by library as filter_libraries %}
+{% for library in filter_libraries %}
+<div class="module">
+ <h2>{% if library.grouper %}{{ library.grouper }}{% else %}Built-in filters{% endif %}</h2>
+ <ul>
+ {% for filter in library.list|dictsort:"name" %}
+ <li><a href="#{{ filter.name }}">{{ filter.name }}</a></li>
+ {% endfor %}
+ </ul>
+</div>
+{% endfor %}
+
+</div>
+
+{% endblock %}
View
53 templates/admin/doc/template_tag_index.html
@@ -0,0 +1,53 @@
+{% extends "base_site" %}
+
+
+{% block coltype %}colSM{% endblock %}
+
+
+
+{% block breadcrumbs %}<div class="breadcrumbs"><a href="/">Home</a> &rsaquo; <a href="/doc/">Documentation</a> &rsaquo; Tags</div>{% endblock %}
+
+
+{% block title %}Template tags{% endblock %}
+
+{% block content %}
+
+<h1>Template tag documentation</h1>
+
+<div id="content-main">
+{% regroup tags|dictsort:"library" by library as tag_libraries %}
+{% for library in tag_libraries %}
+<div class="module">
+ <h2>{% if library.grouper %}{{ library.grouper }}{% else %}Built-in tags{% endif %}</h2>
+ {% if library.grouper %}<p class="small quiet">To use these tags, put <code>{% templatetag openblock %} load {{ library.grouper }} {% templatetag closeblock %}</code> in your template before using the tag.</p><hr>{% endif %}
+ {% for tag in library.list|dictsort:"name" %}
+ <h3 id="{{ tag.name }}">{{ tag.name }}</h3>
+ <h4>{{ tag.title }}</h4>
+ <p>{{ tag.body }}</p>
+ {% if not forloop.last %}<hr />{% endif %}
+ {% endfor %}
+</div>
+{% endfor %}
+</div>
+
+{% endblock %}
+
+{% block sidebar %}
+
+<div id="content-related">
+
+{% regroup tags|dictsort:"library" by library as tag_libraries %}
+{% for library in tag_libraries %}
+<div class="module">
+ <h2>{% if library.grouper %}{{ library.grouper }}{% else %}Built-in tags{% endif %}</h2>
+ <ul>
+ {% for tag in library.list|dictsort:"name" %}
+ <li><a href="#{{ tag.name }}">{{ tag.name }}</a></li>
+ {% endfor %}
+ </ul>
+</div>
+{% endfor %}
+
+</div>
+
+{% endblock %}
View
26 templates/admin/doc/view_detail.html
@@ -0,0 +1,26 @@
+{% extends "base_site" %}
+
+{% block breadcrumbs %}<div class="breadcrumbs"><a href="/">Home</a> &rsaquo; <a href="/doc/">Documentation</a> &rsaquo; <a href="/doc/views/">Views</a> &rsaquo; {{ name }}</div>{% endblock %}
+
+{% block title %}View: {{ name }}{% endblock %}
+
+{% block content %}
+
+<h1>{{ name }}</h1>
+
+<h2 class="subhead">{{ summary }}</h2>
+
+<p>{{ body }}</p>
+
+{% if meta.Context %}
+<h3>Context:</h3>
+<p>{{ meta.Context }}</p>
+{% endif %}
+
+{% if meta.Templates %}
+<h3>Templates:</h3>
+<p>{{ meta.Templates }}</p>
+{% endif %}
+
+<p class="small"><a href="../">&lsaquo; Back to Views Documentation</a></p>
+{% endblock %}
View
52 templates/admin/doc/view_index.html
@@ -0,0 +1,52 @@
+{% extends "base_site" %}
+
+{% block coltype %}colSM{% endblock %}
+
+{% block breadcrumbs %}<div class="breadcrumbs"><a href="/">Home</a> &rsaquo; <a href="/doc/">Documentation</a> &rsaquo; Views</div>{% endblock %}
+
+{% block title %}Views{% endblock %}
+
+
+{% block content %}
+
+
+
+<h1>View documentation</h1>
+
+
+<div id="content-main">
+
+
+{% regroup views|dictsort:"site_id" by site as views_by_site %}
+{% for site_views in views_by_site %}
+<div class="module">
+<h2 id="site{{ site_views.grouper.id }}">Views by URL on {{ site_views.grouper.name }}</h2>
+
+{% for view in site_views.list|dictsort:"url" %}
+<h3><a href="{{ view.module }}.{{ view.name }}/"/>{{ view.url|escape }}</a></h3>
+<p class="small quiet">({{ view.module }}.{{ view.name }})</p>
+<p>{{ view.title }}</p>
+<hr>
+{% endfor %}
+
+</div>
+{% endfor %}
+
+</div>
+
+
+{% endblock %}
+
+{% block sidebar %}
+<div id="content-related" class="sidebar">
+<div class="module">
+<h2>Jump to site</h2>
+<ul>
+ {% regroup views|dictsort:"site_id" by site as views_by_site %}
+ {% for site_views in views_by_site %}
+ <li><a href="#site{{ site_views.grouper.id }}">{{ site_views.grouper.name }}</a></li>
+ {% endfor %}
+</ul>
+</div>
+</div>
+{% endblock %}
View
30 templates/admin/index.html
@@ -0,0 +1,30 @@
+{% extends "base_site" %}
+
+{% block coltype %}colMS{% endblock %}
+{% block bodyclass %}dashboard{% endblock %}
+{% block breadcrumbs %}{% endblock %}
+{% block content %}
+<div id="content-main">
+
+</div>
+{% endblock %}
+
+{% block sidebar %}
+<div id="content-related">
+ <div class="module" id="recent-actions-module">
+ <h2>Recent Actions</h2>
+ <h3>My Actions</h3>
+ {% load auth.log %}
+ {% get_admin_log 10 as admin_log for_user user %}
+ {% if not admin_log %}
+ <p>None available</p>
+ {% else %}
+ <ul class="actionlist">
+ {% for entry in admin_log %}
+ <li class="{% if entry.is_addition %}addlink{% endif %}{% if entry.is_change %}changelink{% endif %}{% if entry.is_deletion %}deletelink{% endif %}">{% if not entry.is_deletion %}<a href="{{ entry.get_admin_url }}">{% endif %}{{ entry.object_repr }}{% if not entry.is_deletion %}</a>{% endif %}<br /><span class="mini quiet">{{ entry.get_content_type.name|capfirst }}</span></li>
+ {% endfor %}
+ </ul>
+ {% endif %}
+ </div>
+</div>
+{% endblock %}
View
9 templates/admin/logged_out.html
@@ -0,0 +1,9 @@
+{% extends "base_site" %}
+
+{% block content %}
+
+<p>Thanks for spending some quality time with the Web site today.</p>
+
+<p><a href="/">Log in again</a></p>
+
+{% endblock %}
View
31 templates/admin/login.html
@@ -0,0 +1,31 @@
+{% extends "base_site" %}
+
+{% block breadcrumbs %}{% endblock %}
+
+{% block content %}
+
+{% if error_message %}
+<p class="errornote">{{ error_message }}</p>
+{% endif %}
+<div id="content-main">
+<form action="{{ app_path }}" method="post">
+
+<p class="aligned">
+<label for="id_username">Username:</label> <input type="text" name="username" id="id_username" />
+</p>
+<p class="aligned">
+<label for="id_password">Password:</label> <input type="password" name="password" id="id_password" />
+<input type="hidden" name="this_is_the_login_form" value="1" />
+<input type="hidden" name="post_data" value="{{ post_data }}" /> <span class="help">Have you <a href="/password_reset/">forgotten your password</a>?</span>
+</p>
+
+<div class="aligned ">
+<label>&nbsp;</label><input type="submit" value="Log in" />
+</div>
+</form>
+
+<script type="text/javascript">
+document.getElementById('id_username').focus()
+</script>
+</div>
+{% endblock %}
View
31 templates/admin/template_validator.html
@@ -0,0 +1,31 @@
+{% extends "base_site" %}
+
+{% block content %}
+
+<div id="content-main">
+
+<form action="" method="post">
+
+{% if form.error_dict %}
+<p class="errornote">Your template had {{ form.error_dict.items|length }} error{{ form.error_dict.items|pluralize }}:</p>
+{% endif %}
+
+<fieldset class="module aligned">
+<div class="form-row{% if form.site.errors %} error{% endif %} required">
+ {% if form.site.errors %}{{ form.site.html_error_list }}{% endif %}
+ <h4><label for="id_site">Site:</label> {{ form.site }}</h4>
+</div>
+<div class="form-row{% if form.template.errors %} error{% endif %} required">
+ {% if form.template.errors %}{{ form.template.html_error_list }}{% endif %}
+ <h4><label for="id_template">Template:</label> {{ form.template }}</h4>
+</div>
+</fieldset>
+
+<div class="submit-row">
+ <input type="submit" value="Check for errors" class="default" />
+</div>
+
+</form>
+</div>
+
+{% endblock %}
Please sign in to comment.
Something went wrong with that request. Please try again.