Django REST框架是一個用于構(gòu)建Web API的強大且靈活的工具包
您可能想要使用REST框架的一些原因:
- 可瀏覽性
- 身份認證
- 支持ORM和非ORM的序列化
- 良好的文檔支持
安裝初步
pip install djangorestframework
pip install markdown # Markdown support for the browsable API.
pip install django-filter # Filtering support
可選包:
可選包.png
文件配置
在配置文件setting 中添加 APP如下圖
INSTALLED_APPS = (
...
'rest_framework',
)
在url 中添加路由如下
urlpatterns = [
...
url(r'^api-auth/', include('rest_framework.urls'))
]
example (例子)
我們來看看使用REST框架構(gòu)建簡單模型支持的API的一個簡單例子综液。
我們將創(chuàng)建一個讀寫API來訪問我們項目用戶的信息傍衡。
REST框架API的任何全局設(shè)置都保存在一個名為的配置字典中REST_FRAMEWORK。首先將以下內(nèi)容添加到您的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'
]
}
我們準(zhǔn)備好現(xiàn)在創(chuàng)建我們的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'))
]
打開 127.0.0.1:8080衫生,可以添加刪除,創(chuàng)建用戶
image.png