| {% extends "base.html" %} |
| |
| {% block title %}{{ application_name }} Development Console - Memcache Viewer{% endblock %} |
| |
| {% block head %} |
| <style type="text/css">{% include "css/memcache.css" %}</style> |
| {% endblock %} |
| |
| {% block breadcrumbs %} |
| <span class="item"><a href="">Memcache Viewer</a></span> |
| {% endblock %} |
| |
| {% block body %} |
| <h3>Memcache Viewer</h3> |
| |
| {% if message %} |
| <div class="message"> |
| {{ message|escape }} |
| </div> |
| {% endif %} |
| |
| {% if show_stats %} |
| <div id="stats"> |
| <ul> |
| <li>Hit ratio: {{ hitratio }}% ({{ stats.hits }} hit{{ stats.hits|pluralize }} and {{ stats.misses }} miss{{ stats.misses|pluralize:"es" }})</li> |
| <li>Size of cache: {{ stats.items }} item{{ stats.items|pluralize }}, {{ stats.bytes|filesizeformat }} |
| <form id="flush_form" action="{{ request.path }}" method="post"> |
| <input type="hidden" name="xsrf_token" value="{{ xsrf_token }}"/> |
| <input type="submit" name="action:flush" value="Flush Cache" onclick="return confirm('Are you sure you want to flush all keys from the cache?');"/> |
| </form> |
| </li> |
| <li>Cache contains items up to {{ oldest_item_age|timesince }} old.</li> |
| </ul> |
| </div> |
| |
| <div id="memcache_search"> |
| <form action="{{ request.path }}" method="post"> |
| <input type="hidden" name="xsrf_token" value="{{ xsrf_token }}"/> |
| <span class="field"> |
| <span class="name">Key:</span> |
| <span class="value"><input id="key_input" name="key" type="text" size="40" value="{{ key|escape }}"/></span> |
| </span> |
| <span class="buttons"> |
| <input type="submit" name="action:display" value="Display"/> |
| <input type="submit" name="action:edit" value="Edit/Create"/> |
| <input type="submit" name="action:delete" value="Delete" onclick="return confirm('Are you sure you want to permanently delete this key?');"/> |
| </span> |
| </form> |
| </div> |
| {% endif %} |
| |
| {% if show_value %} |
| {% if key_exists %} |
| {% ifequal type "error" %} |
| <div class="message">Error fetching {{ key|escape }}: {{ value|escape }}</div> |
| {% else %} |
| <div id="value_display"> |
| <div id="value_display_key">"<b>{{ key|escape }}</b>" is a <b>{{ type|escape }}</b>:</div> |
| <pre id="value_display_value">{{ value|escape }}</pre> |
| </div> |
| {% endifequal %} |
| {% else %} |
| <div class="message">No such key: {{ key|escape }}</div> |
| {% endif %} |
| {% endif %} |
| |
| {% if show_valueform %} |
| <div id="memcache_edit"> |
| <form action="{{ request.path }}" method="post"> |
| <input type="hidden" name="xsrf_token" value="{{ xsrf_token }}"/> |
| <table> |
| <tr> |
| <th>Key</th> |
| <td> |
| <input name="key" type="hidden" value="{{ key|escape }}"/> |
| {{ key|escape }} |
| </td> |
| </tr> |
| <tr> |
| <th>Type</th> |
| <td> |
| {% if key_exists %} |
| <input name="type" type="hidden" value="{{ type|escape }}"/> |
| {{ type|escape }} |
| {% else %} |
| <select name="type" size="1"> |
| {% for typeopt in types %} |
| <option>{{ typeopt }}</option> |
| {% endfor %} |
| </select> |
| {% endif %} |
| </td> |
| </tr> |
| <tr> |
| <th id="value_key"><div id="value_key_text">Value</div></th> |
| <td> |
| <textarea id="value_input" name="value" cols="80" rows="20"{% if not writable %} readonly{% endif %}>{{ value|default_if_none:""|escape }}</textarea> |
| </td> |
| </tr> |
| <tr> |
| <th> </th> |
| <td> |
| {% if writable %} |
| <input type="submit" name="action:save" value="Save"/> |
| {% endif %} |
| <input type="submit" name="action:cancel" value="Cancel"/> |
| </td> |
| </tr> |
| </table> |
| </form> |
| </div> |
| {% endif %} |
| |
| {% endblock %} |
| |
| {% block final %} |
| <script type="text/javascript"> |
| //<![CDATA[ |
| document.getElementById('key_input').focus(); |
| //]]> |
| </script> |
| {% endblock %} |