带你进入其他框架

  

<强>

<强>

新建项目

新建名为django的项目

在其中建立一个名为的应用:

新建目录
 #,新建目录mkdir  dimplescd 酒窝
新建虚拟环境
 virtualenv  envenv \ \激活脚本
在虚拟环境中安装依赖
 pip  install  django
  pip  install  djangorestframework 
新建项目
 django-admin.py  startproject  dimples 只,
  cd 酒窝
  django-admin.py  startapp  astart
  cd  . .
创建表
 python  manage.py 迁移
创建管理员
 python  manage.py  createsuperuser 

序列化

首先创建一个文件酒窝/astart来编写序列化相关的代码:

<>之前得到django.contrib.auth.models  import 用户,Groupfrom  rest_framework  import  serializersclass  UserSerializer (serializers.HyperlinkedModelSerializer):   ,,,class 元:   ,,,,,,,model =用户   ,,,,,,,fields =, (“url”,“用户名”,“电子邮件”,“集团”)class  GroupSerializer (serializers.HyperlinkedModelSerializer):   ,,,class 元:   ,,,,,,,model =,   ,,,,,,,fields =, (“url”,“名字”)

HyperlinkedModelSerializer:建立超链接关系。

<编辑id=" dimplesastartviewspy ">酒窝/astart/

编写视图文件

<>之前得到django.contrib.auth.models  import 用户,Groupfrom  rest_framework  import  viewsetsfrom  dimples.astart.serializers  import  UserSerializer,, GroupSerializerclass  UserViewSet (viewsets.ModelViewSet):   ”,,,“”   ,,,查看,编辑用户的界面   ”,,,“”   ,,,queryset =, User.objects.all () .order_by (“-date_joined”)   ,,,serializer_class =, UserSerializerclass  GroupViewSet (viewsets.ModelViewSet):   ”,,,“”   ,,,查看,编辑组的界面   ”,,,“”   ,,,queryset =, Group.objects.all ()   ,,,serializer_class =, GroupSerializer

ViewSets:封装许多常见的操作,减少重复代码。保持代码的简洁以及逻辑的清晰。

<编辑id=" dimplesurlspy ">酒窝/: <>之前得到django.conf.urls  import  url, includefrom  rest_framework  import  routersfrom  dimples.astart  import 观点      时间=router  routers.DefaultRouter ()   router.register (r 'users, views.UserViewSet)   router.register (r 'groups, views.GroupViewSet) #,使用URL路由来管理我们的API #,另外添加登录相关的URLurlpatterns =, (   ,,,的url (r ' ^ ',,包括(router.urls)),   ,,,url (r ' ^ api-auth/',,包括(“rest_framework.urls”,名称空间=' rest_framework '))   )

使用了ViewSets可以通过使用路由器类来自动生成URL配置信息。

<编辑id=吧柚谩?

设置启用分页功能只有管理员能访问

 INSTALLED_APPS =, (
  ,,,,,,,,“rest_framework”,
  )
  
  REST_FRAMEWORK =, {,,,“DEFAULT_PERMISSION_CLASSES”:, (rest_framework.permissions.IsAdminUser,),,,,,的页大小:,10}

测试

终端中输入

 python 。/manage.py  runserver 

使用命令行工具访问API

 http  -a 酒窝:111111,http://127.0.0.1:8000用户/
 (venv), C: \ \用户管理员\ PycharmProjects \ dimples> http  -a 酒窝:111111,http://127.0.0.1:8000/user/HTTP/1.0, 200, OKAllow:,,,,,的选择
  内容长度:91年,内容类型:应用程序/jsonDate:,结婚,,20,Sep  2017年,11:31:17  GMTServer:, WSGIServer/0.1, Python/2.7.13Vary:接受,,饼干
  X-Frame-Options: SAMEORIGIN
  
  {,,,“团体”:,“http://127.0.0.1:8000/用户/组/?,,,,“用户”:,“http://127.0.0.1:8000/用户/用户/眪

确保登录状态下打开浏览器127.0.0.1:8000/用户/

<强>

带你进入其他框架