<强>
强>
<强> 强>
新建项目
新建名为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 =, GroupSerializerViewSets:封装许多常见的操作,减少重复代码。保持代码的简洁以及逻辑的清晰。
<编辑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/用户/
<强>
强>