Flesh out quickstart guide and make some style tweaks

This commit is contained in:
Tom Christie 2012-10-09 13:50:26 +01:00
parent 7c4d50f621
commit 94401b43d2
5 changed files with 63 additions and 15 deletions

BIN
docs/images/quickstart.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -131,3 +131,42 @@ We'd also like to set a few global settings. We'd like to turn on pagination, a
}
Okay, that's us done.
---
## Testing our API
We can now access our API, both from the command-line, using tools like `curl`...
bash: curl -H 'Accept: application/json; indent=4' -u admin:password http://127.0.0.1:8000/users/
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"email": "admin@example.com",
"groups": [],
"url": "http://127.0.0.1:8000/users/1/",
"username": "admin"
},
{
"email": "tom@example.com",
"groups": [],
"url": "http://127.0.0.1:8000/users/2/",
"username": "tom"
}
]
}
Or directly through the browser...
![Quick start image][image]
Great, that was easy!
If you want to get a more in depth understanding of how REST framework fits together head on over to [the tutorial][tutorial], or start browsing the [API guide][guide].
[image]: ../images/quickstart.png
[tutorial]: 1-serialization.md
[guide]: ../#api-guide

View File

@ -37,12 +37,25 @@ for static in ['css', 'js', 'img']:
shutil.copytree(source, target)
for (dirpath, dirnames, filenames) in os.walk(docs_dir):
relative_dir = dirpath.replace(docs_dir, '').lstrip(os.path.sep)
build_dir = os.path.join(html_dir, relative_dir)
if not os.path.exists(build_dir):
os.makedirs(build_dir)
for filename in filenames:
if not filename.endswith('.md'):
path = os.path.join(dirpath, filename)
if filename.endswith('.png'):
output_path = os.path.join(build_dir, filename)
shutil.copy(path, output_path)
continue
elif not filename.endswith('.md'):
continue
output_path = os.path.join(build_dir, filename[:-3] + '.html')
toc = ''
text = open(os.path.join(dirpath, filename), 'r').read().decode('utf-8')
text = open(path, 'r').read().decode('utf-8')
for line in text.splitlines():
if line.startswith('# '):
title = line[2:].strip()
@ -60,16 +73,10 @@ for (dirpath, dirnames, filenames) in os.walk(docs_dir):
content = markdown.markdown(text, ['headerid'])
relative_dir = dirpath.replace(docs_dir, '').lstrip(os.path.sep)
build_dir = os.path.join(html_dir, relative_dir)
build_file = os.path.join(build_dir, filename[:-3] + '.html')
if not os.path.exists(build_dir):
os.makedirs(build_dir)
output = page.replace('{{ content }}', content).replace('{{ toc }}', toc).replace('{{ base_url }}', base_url).replace('{{ suffix }}', suffix).replace('{{ index }}', index)
output = output.replace('{{ page_id }}', filename[:-3])
output = re.sub(r'a href="([^"]*)\.md"', r'a href="\1%s"' % suffix, output)
output = re.sub(r'<pre><code>:::bash', r'<pre class="prettyprint lang-bsh">', output)
output = re.sub(r'<pre>', r'<pre class="prettyprint lang-py">', output)
output = re.sub(r'<a class="github" href="([^"]*)"></a>', code_label, output)
open(build_file, 'w').write(output.encode('utf-8'))
open(output_path, 'w').write(output.encode('utf-8'))

View File

@ -19,6 +19,10 @@ h2, h3 {
padding-right: 0.25em;
}
.version {
font-size: 70%;
}
.format-option {
font-family: Menlo, Consolas, "Andale Mono", "Lucida Console", monospace;
}

View File

@ -39,7 +39,7 @@
{% if user.is_authenticated %}
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Logged in as {{ user }}
{{ user }}
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
@ -128,7 +128,6 @@
<div class="well">
<form action="{{ request.get_full_path }}" method="POST" {% if post_form.is_multipart %}enctype="multipart/form-data"{% endif %} class="form-horizontal">
<fieldset>
<h2>POST: {{ name }}</h2>
{% csrf_token %}
{{ post_form.non_field_errors }}
{% for field in post_form %}
@ -153,7 +152,6 @@
<div class="well">
<form action="{{ request.get_full_path }}" method="POST" {% if put_form.is_multipart %}enctype="multipart/form-data"{% endif %} class="form-horizontal">
<fieldset>
<h2>PUT: {{ name }}</h2>
<input type="hidden" name="{{ api_settings.FORM_METHOD_OVERRIDE }}" value="PUT" />
{% csrf_token %}
{{ put_form.non_field_errors }}
@ -191,9 +189,9 @@
</div><!-- ./wrapper -->
{% block footer %}
<div id="footer">
<a class="powered-by" href='http://django-rest-framework.org'>Django REST framework</a> <span class="version">{{ version }}</span>
</div>
<!--<div id="footer">
<a class="powered-by" href='http://django-rest-framework.org'>Django REST framework</a>
</div>-->
{% endblock %}
{% block script %}