标签:内容 app django web api 3.4 创建 clone edm ships
Django REST framework 是用于构建Web API 的强大而灵活的工具包。
我们可能想使用REST框架的一些原因:
安装需求以及安装及使用
REST framework 兼容版本:
安装
# 如果使用的是python3 pip3 install djangorestframework pip3 install markdown pip3 install django-filter # 或者通过github安装 git clone git@github.com:encode/django-rest-framework.git
使用
# 添加 "rest_framework" 到Django settings.py文件中INSTALLED_APPS, INSTALLED_APPS = ( ... ‘rest_framework‘, ) # 如果打算使用可浏览的API。还需要添加REST framework的登录和注销视图。将以下内容添加到根url.py文件中,命名空间必须保留,路由可以设置为自己想要的。 urlpatterns = [ ... url(r‘^api-auth/‘, include(‘rest_framework.urls‘, namespace=‘rest_framework‘)) ]
接下来,可以举个例子
REST framework API的任何全局设置都保存在一个名为restframework的配置字典中。首先在设置中添加以下内容
REST_FRAMEWORK = { # 使用Django的 `django.contrib.auth` 权限验证, # 或者允许对未经身份验证的用户进行只读访问. ‘DEFAULT_PERMISSION_CLASSES‘: [ ‘rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly‘ ] }
# 别忘记在 installedapps上添加了restframework。 # 现在已经准备好创建API了。这是项目的根 url.py 模块 from django.conf.urls import url, include from django.contrib.auth.models import User from rest_framework import routers, serializers, viewsets # 序列化model模型展示. class UserSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = User fields = (‘url‘, ‘username‘, ‘email‘, ‘is_staff‘) # ViewSets定义视图行为. class UserViewSet(viewsets.ModelViewSet): queryset = User.objects.all() serializer_class = UserSerializer # 路由器提供一种简单的方法来自动确定URL的设置(使用注册的方式). router = routers.DefaultRouter() router.register(r‘users‘, UserViewSet) # 使用自动URL路由连接API. # 此外,还包括可浏览的API的登录url. urlpatterns = [ url(r‘^‘, include(router.urls)), url(r‘^api-auth/‘, include(‘rest_framework.urls‘, namespace=‘rest_framework‘)) ]
现在,可以在浏览器中打开该API,http://127.0.0.1:8000/,并查看新的“用户”API。如果你在右上角使用登陆控制也可以从系统中添加,创建和删除用户。
接下来了解下rest framework 的所有组件,并且得知它们是如何组合在一起的,这是非常值得去学习的。
更新中。。。2017-09-09 23:39
标签:内容 app django web api 3.4 创建 clone edm ships
原文地址:http://www.cnblogs.com/leguan1314/p/7499612.html