mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-02-02 20:54:42 +03:00
Flesh out quickstart guide and make some style tweaks
This commit is contained in:
parent
7c4d50f621
commit
94401b43d2
BIN
docs/images/quickstart.png
Normal file
BIN
docs/images/quickstart.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
|
@ -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
|
25
mkdocs.py
25
mkdocs.py
|
@ -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'))
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 %}
|
||||
|
|
Loading…
Reference in New Issue
Block a user