aboutsummaryrefslogtreecommitdiffstats
path: root/docs/tutorial/quickstart.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/tutorial/quickstart.md')
-rw-r--r--docs/tutorial/quickstart.md43
1 files changed, 17 insertions, 26 deletions
diff --git a/docs/tutorial/quickstart.md b/docs/tutorial/quickstart.md
index 98e5f439..813e9872 100644
--- a/docs/tutorial/quickstart.md
+++ b/docs/tutorial/quickstart.md
@@ -18,34 +18,23 @@ Create a new Django project named `tutorial`, then start a new app called `quick
pip install django
pip install djangorestframework
- # Set up a new project
- django-admin.py startproject tutorial
-
- # Create a new app
- python manage.py startapp quickstart
-
-Next you'll need to get a database set up and synced. If you just want to use SQLite for now, then you'll want to edit your `tutorial/settings.py` module to include something like this:
-
- DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.sqlite3',
- 'NAME': 'database.sql',
- 'USER': '',
- 'PASSWORD': '',
- 'HOST': '',
- 'PORT': ''
- }
- }
+ # Set up a new project with a single application
+ django-admin.py startproject tutorial .
+ cd tutorial
+ django-admin.py startapp quickstart
+ cd ..
-The run `syncdb` like so:
+Now sync your database for the first time:
python manage.py syncdb
+Make sure to create an initial user named `admin` with a password of `password`. We'll authenticate as that user later in our example.
+
Once you've set up a database and got everything synced and ready to go, open up the app's directory and we'll get coding...
## Serializers
-First up we're going to define some serializers in `quickstart/serializers.py` that we'll use for our data representations.
+First up we're going to define some serializers. Let's create a new module named `tutorial/quickstart/serializers.py` that we'll use for our data representations.
from django.contrib.auth.models import User, Group
from rest_framework import serializers
@@ -66,11 +55,11 @@ Notice that we're using hyperlinked relations in this case, with `HyperlinkedMod
## Views
-Right, we'd better write some views then. Open `quickstart/views.py` and get typing.
+Right, we'd better write some views then. Open `tutorial/quickstart/views.py` and get typing.
from django.contrib.auth.models import User, Group
from rest_framework import viewsets
- from quickstart.serializers import UserSerializer, GroupSerializer
+ from tutorial.quickstart.serializers import UserSerializer, GroupSerializer
class UserViewSet(viewsets.ModelViewSet):
@@ -100,9 +89,9 @@ For trivial cases you can simply set a `model` attribute on the `ViewSet` class
Okay, now let's wire up the API URLs. On to `tutorial/urls.py`...
- from django.conf.urls import patterns, url, include
+ from django.conf.urls import url, include
from rest_framework import routers
- from quickstart import views
+ from tutorial.quickstart import views
router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
@@ -110,10 +99,10 @@ Okay, now let's wire up the API URLs. On to `tutorial/urls.py`...
# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browseable API.
- urlpatterns = patterns('',
+ urlpatterns = [
url(r'^', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
- )
+ ]
Because we're using viewsets instead of views, we can automatically generate the URL conf for our API, by simply registering the viewsets with a router class.
@@ -172,6 +161,8 @@ Or directly through the browser...
![Quick start image][image]
+If you're working through the browser, make sure to login using the control in the top right corner.
+
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].