diff options
Diffstat (limited to 'djangorestframework/templates/emitter.html')
| -rw-r--r-- | djangorestframework/templates/emitter.html | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/djangorestframework/templates/emitter.html b/djangorestframework/templates/emitter.html new file mode 100644 index 00000000..d21350cd --- /dev/null +++ b/djangorestframework/templates/emitter.html @@ -0,0 +1,108 @@ +{% load urlize_quoted_links %}{% load add_query_param %}<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <style> + pre {border: 1px solid black; padding: 1em; background: #ffd} + body {margin: 0; border:0; padding: 0;} + span.api {margin: 0.5em 1em} + span.auth {float: right; margin-right: 1em} + div.header {margin: 0; border:0; padding: 0.25em 0; background: #ddf} + div.content {margin: 0 1em;} + div.action {border: 1px solid black; padding: 0.5em 1em; margin-bottom: 0.5em; background: #ddf} + ul.accepttypes {float: right; list-style-type: none; margin: 0; padding: 0} + ul.accepttypes li {display: inline;} + form div {margin: 0.5em 0} + form div * {vertical-align: top} + form ul.errorlist {display: inline; margin: 0; padding: 0} + form ul.errorlist li {display: inline; color: red;} + .clearing {display: block; margin: 0; padding: 0; clear: both;} + </style> + <title>API - {{ resource.name }}</title> + </head> + <body> + <div class='header'> + <span class='api'><a href='http://django-rest-framework.org'>Django REST framework</a></span> + <span class='auth'>{% if user.is_active %}Welcome, {{ user }}.{% if logout_url %} <a href='{{ logout_url }}'>Log out</a>{% endif %}{% else %}Not logged in {% if login_url %}<a href='{{ login_url }}'>Log in</a>{% endif %}{% endif %}</span> + </div> + <div class='content'> + <h1>{{ resource.name }}</h1> + <p>{{ resource.description|linebreaksbr }}</p> + <pre><b>{{ response.status }} {{ response.status_text }}</b>{% autoescape off %} +{% for key, val in response.headers.items %}<b>{{ key }}:</b> {{ val|urlize_quoted_links }} +{% endfor %} +{{ content|urlize_quoted_links }}</pre>{% endautoescape %} + + {% if 'GET' in resource.allowed_methods %} + <div class='action'> + <a href='{{ request.path }}' rel="nofollow">GET</a> + <ul class="accepttypes"> + {% for media_type in resource.emitted_media_types %} + {% with resource.ACCEPT_QUERY_PARAM|add:"="|add:media_type as param %} + <li>[<a href='{{ request.path|add_query_param:param }}' rel="nofollow">{{ media_type }}</a>]</li> + {% endwith %} + {% endfor %} + </ul> + <div class="clearing"></div> + </div> + {% endif %} + + {% comment %} *** Only display the POST/PUT/DELETE forms if we have a bound form, and if method *** + *** tunneling via POST forms is enabled. *** + *** (We could display only the POST form if method tunneling is disabled, but I think *** + *** the user experience would be confusing, so we simply turn all forms off. *** {% endcomment %} + + {% if resource.METHOD_PARAM and form %} + {% if 'POST' in resource.allowed_methods %} + <div class='action'> + <form action="{{ request.path }}" method="post"> + {% csrf_token %} + {{ form.non_field_errors }} + {% for field in form %} + <div> + {{ field.label_tag }}: + {{ field }} + {{ field.help_text }} + {{ field.errors }} + </div> + {% endfor %} + <div class="clearing"></div> + <input type="submit" value="POST" /> + </form> + </div> + {% endif %} + + {% if 'PUT' in resource.allowed_methods %} + <div class='action'> + <form action="{{ request.path }}" method="post"> + <input type="hidden" name="{{ resource.METHOD_PARAM }}" value="PUT" /> + {% csrf_token %} + {{ form.non_field_errors }} + {% for field in form %} + <div> + {{ field.label_tag }}: + {{ field }} + {{ field.help_text }} + {{ field.errors }} + </div> + {% endfor %} + <div class="clearing"></div> + <input type="submit" value="PUT" /> + </form> + </div> + {% endif %} + + {% if 'DELETE' in resource.allowed_methods %} + <div class='action'> + <form action="{{ request.path }}" method="post"> + {% csrf_token %} + <input type="hidden" name="{{ resource.METHOD_PARAM }}" value="DELETE" /> + <input type="submit" value="DELETE" /> + </form> + </div> + {% endif %} + {% endif %} + </div> + </body> +</html>
\ No newline at end of file |
