安装
安装使用pip
,包括您想要的任何可选包...
pip install djangorestframework
pip install markdown # Markdown support for the browsable API.
pip install django-filter # Filtering support
添加 ‘rest_framework' 到你的 INSTALLED_APPS设置
INSTALLED_APPS = (
'rest_framework',
)
如果您打算使用可浏览的API,您可能还需要添加REST框架的登录和注销视图。将以下内容添加到您的根urls.py
文件中。
urlpatterns = [
url(r'^api-auth/', include('rest_framework.urls, namespace='rest_framework'))
]
请注意,URL路径可以是任何你想要的,但你必须包括'rest_framework.urls'
与'rest_framework'
命名空间。您可以在Django 1.9+中省略命名空间,REST框架将为您设置。
例
我们来看一下使用REST框架构建一个简单的模型支持的API的一个简单例子。
我们将创建一个读写API来访问我们项目用户的信息。
任何REST框架API的全局设置都保存在一个名为的单一配置字典中REST_FRAMEWORK
。通过在您的settings.py
模块中添加以下内容开始:
REST_FRAMEWORK = { # Use Django's standard `django.contrib.auth` permissions, # or allow read-only access for unauthenticated users. 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly' ] }
不要忘了确保你也添加rest_framework
到你的INSTALLED_APPS
。
我们已经准备好创建我们的API了。这是我们项目的根urls.py
模块:
from django.conf.urls import url, include from django.contrib.auth.models import User from rest_framework import routers, serializers, viewsets # Serializers define the API representation. class UserSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = User fields = ('url', 'username', 'email', 'is_staff') # ViewSets define the view behavior. class UserViewSet(viewsets.ModelViewSet): queryset = User.objects.all() serializer_class = UserSerializer # Routers provide an easy way of automatically determining the URL conf. router = routers.DefaultRouter() router.register(r'users', UserViewSet) # Wire up our API using automatic URL routing. # Additionally, we include login URLs for the browsable API. urlpatterns = [ url(r'^', include(router.urls)), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')) ]
您现在可以在浏览器中http://code.google.com/support/zh-cn/zh-cn http://127.0.0.1:8000/打开API ,并查看新的“用户”API。如果您使用右上角的登录控件,您还可以从系统添加,创建和删除用户。