mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-23 01:57:00 +03:00
40 lines
1.1 KiB
ReStructuredText
40 lines
1.1 KiB
ReStructuredText
.. _blogposts:
|
|
|
|
Blog Posts API
|
|
==============
|
|
|
|
* http://api.django-rest-framework.org/blog-post/
|
|
|
|
The models
|
|
----------
|
|
|
|
In this example we're working from two related models:
|
|
|
|
``models.py``
|
|
|
|
.. include:: ../../examples/blogpost/models.py
|
|
:literal:
|
|
|
|
Creating the resources
|
|
----------------------
|
|
|
|
We need to create two resources that we map to our two existing models, in order to describe how the models should be serialized.
|
|
Our resource descriptions will typically go into a module called something like 'resources.py'
|
|
|
|
``resources.py``
|
|
|
|
.. include:: ../../examples/blogpost/resources.py
|
|
:literal:
|
|
|
|
Creating views for our resources
|
|
--------------------------------
|
|
|
|
Once we've created the resources there's very little we need to do to create the API.
|
|
For each resource we'll create a base view, and an instance view.
|
|
The generic views :class:`.ListOrCreateModelView` and :class:`.InstanceModelView` provide default operations for listing, creating and updating our models via the API, and also automatically provide input validation using default ModelForms for each model.
|
|
|
|
``urls.py``
|
|
|
|
.. include:: ../../examples/blogpost/urls.py
|
|
:literal:
|