Rework nav to use Bootstrap's Navbar.

This commit is contained in:
Alec Perkins 2012-09-07 16:09:28 -04:00
parent 5043b9f656
commit 54cc93a813
2 changed files with 130 additions and 117 deletions

View File

@ -0,0 +1,3 @@
body {
padding-top: 1em;
}

View File

@ -20,139 +20,149 @@
</head> </head>
<body class="{% block bodyclass %}{% endblock %}"> <body class="{% block bodyclass %}{% endblock %} container">
<div id="container">
<div id="header"> <div class="navbar">
<div id="branding"> <div class="navbar-inner">
<h1 id="site-name">{% block branding %}<a href='http://django-rest-framework.org'>Django REST framework</a> <span class="version"> v {{ version }}</span>{% endblock %}</h1> <span class="brand" href="/">
</div> {% block branding %}<a href='http://django-rest-framework.org'>Django REST framework</a> <span class="version"> v {{ version }}</span>{% endblock %}
<div id="user-tools"> </span>
{% block userlinks %} {% block userlinks %}
{% if user.is_active %} <ul class="nav pull-right">
Welcome, {{ user }}. {% if user.is_active %}
{% optional_login %} <li class="dropdown">
{% else %} <a href="#" class="dropdown-toggle" data-toggle="dropdown">
{% optional_logout %} Welcome, {{ user }}
{% endif %} <b class="caret"></b>
{% endblock %} </a>
</div> <ul class="dropdown-menu">
{% block nav-global %}{% endblock %} <li>{% optional_logout %}</li>
</div> </ul>
</li>
{% else %}
<li>{% optional_login %}</li>
{% endif %}
</ul>
{% endblock %}
</div>
</div>
<div class="breadcrumbs"> {% block nav-global %}{% endblock %}
{% block breadcrumbs %}
{% for breadcrumb_name, breadcrumb_url in breadcrumblist %}
<a href="{{ breadcrumb_url }}">{{ breadcrumb_name }}</a> {% if not forloop.last %}&rsaquo;{% endif %}
{% endfor %}
{% endblock %}
</div>
<!-- Content -->
<div id="content" class="{% block coltype %}colM{% endblock %}">
{% if 'OPTIONS' in allowed_methods and api_settings.FORM_METHOD_OVERRIDE %} <div class="breadcrumbs">
<form action="{{ request.get_full_path }}" method="post"> {% block breadcrumbs %}
{% csrf_token %} {% for breadcrumb_name, breadcrumb_url in breadcrumblist %}
<input type="hidden" name="{{ api_settings.FORM_METHOD_OVERRIDE }}" value="OPTIONS" /> <a href="{{ breadcrumb_url }}">{{ breadcrumb_name }}</a> {% if not forloop.last %}&rsaquo;{% endif %}
<input type="submit" value="OPTIONS" class="default" /> {% endfor %}
</form> {% endblock %}
{% endif %} </div>
<div class='content-main'> <!-- Content -->
<h1>{{ name }}</h1> <div id="content" class="{% block coltype %}colM{% endblock %}">
<p>{{ description }}</p>
<div class='module'> {% if 'OPTIONS' in allowed_methods and api_settings.FORM_METHOD_OVERRIDE %}
<pre><b>HTTP {{ response.status_code }} {{ response.status_text }}</b>{% autoescape off %} <form action="{{ request.get_full_path }}" method="post">
{% csrf_token %}
<input type="hidden" name="{{ api_settings.FORM_METHOD_OVERRIDE }}" value="OPTIONS" />
<input type="submit" value="OPTIONS" class="default" />
</form>
{% endif %}
<div class='content-main'>
<h1>{{ name }}</h1>
<p>{{ description }}</p>
<div class='module'>
<pre><b>HTTP {{ response.status_code }} {{ response.status_text }}</b>{% autoescape off %}
{% for key, val in response.items %}<b>{{ key }}:</b> {{ val|urlize_quoted_links }} {% for key, val in response.items %}<b>{{ key }}:</b> {{ val|urlize_quoted_links }}
{% endfor %} {% endfor %}
{{ content|urlize_quoted_links }}</pre>{% endautoescape %}</div> {{ content|urlize_quoted_links }}</pre>{% endautoescape %}</div>
{% if 'GET' in allowed_methods %} {% if 'GET' in allowed_methods %}
<form> <form>
<fieldset class='module aligned'> <fieldset class='module aligned'>
<h2>GET {{ name }}</h2> <h2>GET {{ name }}</h2>
<div class='submit-row' style='margin: 0; border: 0'> <div class='submit-row' style='margin: 0; border: 0'>
<a href='{{ request.get_full_path }}' rel="nofollow" style='float: left'>GET</a> <a href='{{ request.get_full_path }}' rel="nofollow" style='float: left'>GET</a>
{% for format in available_formats %} {% for format in available_formats %}
{% with FORMAT_PARAM|add:"="|add:format as param %} {% with FORMAT_PARAM|add:"="|add:format as param %}
[<a href='{{ request.get_full_path|add_query_param:param }}' rel="nofollow">{{ format }}</a>] [<a href='{{ request.get_full_path|add_query_param:param }}' rel="nofollow">{{ format }}</a>]
{% endwith %} {% endwith %}
{% endfor %} {% endfor %}
</div> </div>
</fieldset> </fieldset>
</form> </form>
{% endif %} {% endif %}
{% comment %} {% comment %}
DROP POST/PUT/DELETE until the forms are working with REST framework 2 DROP POST/PUT/DELETE until the forms are working with REST framework 2
{# Only display the POST/PUT/DELETE forms if method tunneling via POST forms is enabled and the user has permissions on this view. #} {# Only display the POST/PUT/DELETE forms if method tunneling via POST forms is enabled and the user has permissions on this view. #}
{% if response.status_code != 403 %} {% if response.status_code != 403 %}
{% if 'POST' in allowed_methods %} {% if 'POST' in allowed_methods %}
<form action="{{ request.get_full_path }}" method="POST" {% if post_form.is_multipart %}enctype="multipart/form-data"{% endif %}> <form action="{{ request.get_full_path }}" method="POST" {% if post_form.is_multipart %}enctype="multipart/form-data"{% endif %}>
<fieldset class='module aligned'> <fieldset class='module aligned'>
<h2>POST {{ name }}</h2> <h2>POST {{ name }}</h2>
{% csrf_token %} {% csrf_token %}
{{ post_form.non_field_errors }} {{ post_form.non_field_errors }}
{% for field in post_form %} {% for field in post_form %}
<div class='form-row'> <div class='form-row'>
{{ field.label_tag }} {{ field.label_tag }}
{{ field }} {{ field }}
<span class='help'>{{ field.help_text }}</span> <span class='help'>{{ field.help_text }}</span>
{{ field.errors }} {{ field.errors }}
</div> </div>
{% endfor %} {% endfor %}
<div class='submit-row' style='margin: 0; border: 0'> <div class='submit-row' style='margin: 0; border: 0'>
<input type="submit" value="POST" class="default" /> <input type="submit" value="POST" class="default" />
</div> </div>
</fieldset> </fieldset>
</form> </form>
{% endif %} {% endif %}
{% if 'PUT' in allowed_methods and api_settings.FORM_METHOD_OVERRIDE %} {% if 'PUT' in allowed_methods and api_settings.FORM_METHOD_OVERRIDE %}
<form action="{{ request.get_full_path }}" method="POST" {% if put_form.is_multipart %}enctype="multipart/form-data"{% endif %}> <form action="{{ request.get_full_path }}" method="POST" {% if put_form.is_multipart %}enctype="multipart/form-data"{% endif %}>
<fieldset class='module aligned'> <fieldset class='module aligned'>
<h2>PUT {{ name }}</h2> <h2>PUT {{ name }}</h2>
<input type="hidden" name="{{ api_settings.FORM_METHOD_OVERRIDE }}" value="PUT" /> <input type="hidden" name="{{ api_settings.FORM_METHOD_OVERRIDE }}" value="PUT" />
{% csrf_token %} {% csrf_token %}
{{ put_form.non_field_errors }} {{ put_form.non_field_errors }}
{% for field in put_form %} {% for field in put_form %}
<div class='form-row'> <div class='form-row'>
{{ field.label_tag }} {{ field.label_tag }}
{{ field }} {{ field }}
<span class='help'>{{ field.help_text }}</span> <span class='help'>{{ field.help_text }}</span>
{{ field.errors }} {{ field.errors }}
</div> </div>
{% endfor %} {% endfor %}
<div class='submit-row' style='margin: 0; border: 0'> <div class='submit-row' style='margin: 0; border: 0'>
<input type="submit" value="PUT" class="default" /> <input type="submit" value="PUT" class="default" />
</div> </div>
</fieldset> </fieldset>
</form> </form>
{% endif %} {% endif %}
{% if 'DELETE' in allowed_methods and api_settings.FORM_METHOD_OVERRIDE %} {% if 'DELETE' in allowed_methods and api_settings.FORM_METHOD_OVERRIDE %}
<form action="{{ request.get_full_path }}" method="POST"> <form action="{{ request.get_full_path }}" method="POST">
<fieldset class='module aligned'> <fieldset class='module aligned'>
<h2>DELETE {{ name }}</h2> <h2>DELETE {{ name }}</h2>
{% csrf_token %} {% csrf_token %}
<input type="hidden" name="{{ api_settings.FORM_METHOD_OVERRIDE }}" value="DELETE" /> <input type="hidden" name="{{ api_settings.FORM_METHOD_OVERRIDE }}" value="DELETE" />
<div class='submit-row' style='margin: 0; border: 0'> <div class='submit-row' style='margin: 0; border: 0'>
<input type="submit" value="DELETE" class="default" /> <input type="submit" value="DELETE" class="default" />
</div> </div>
</fieldset> </fieldset>
</form> </form>
{% endif %} {% endif %}
{% endif %} {% endif %}
{% endcomment %} {% endcomment %}
</div> </div>
<!-- END content-main --> <!-- END content-main -->
</div> </div>
<!-- END Content --> <!-- END Content -->
{% block footer %}<div id="footer"></div>{% endblock %} {% block footer %}<div id="footer"></div>{% endblock %}
</div> </div>