摘要:之前刚学时硬生生使用了静态资源和接口分离的方法,实际使用中肯定会非常不方便。于是发现了用于前后端分离,编写后台的框架。
之前刚学django时硬生生使用了静态资源和接口分离的方法,实际使用中肯定会非常不方便。于是发现了用于前后端分离,编写后台API的REST framework框架。这里做初步尝试
官方文档看起来非常入门
本次实践主要是根据官方文档步骤进行初步实践,其中加入一些自己学习时理解的注释,不能保证翻译正确,所有的参考链接都放在文末吧。
但是!学习过程中发现两处引用模块官网有误!代码中会标注出来
官方文档地址先放:
http://www.django-rest-framew...
首先是安装django和djangorestframework
pip install django pip install djangorestframework
多数人都应该安装好了吧
根据按官网demo安装应用
django-admin.py startproject tutorial django-admin.py startapp quickstart
然后是数据库迁移
python manage.py migrate
接着创建管理员页面和用户
python manage.py createsuperuser --email admin@example.com --username admin二、Serializer(序列化器)配置
定义一些配置,创建一个tutorial/quickstart/serializers.py模块,编写如下代码
from django.contrib.auth.models import User, Group #引入django身份验证机制User模块和Group模块 from rest_framework import serializers #引入rest framework的serializers class UserSerializer(serializers.HyperlinkedModelSerializer): #继承超链接模型解析器 class Meta: model = User #使用User model fields = ("url", "username", "email", "groups") #设置字段 class GroupSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = Group #使用Group model fields = ("url", "name")三、视图配置
在tutorial/quickstart/views.py编写如下代码(render都可以注释掉了???)
这里有一处官网引入模块错误
#from django.shortcuts import render from django.contrib.auth.models import User, Group #引入model from rest_framework import viewsets #引入viewsets,类似controllers # from tutorial.quickstart.serializers import UserSerializer, GroupSerializer 官网模块引入写法,有误 from quickstart.serializers import UserSerializer, GroupSerializer #引入刚刚定义的序列化器 # Create your views here. class UserViewSet(viewsets.ModelViewSet): queryset = User.objects.all().order_by("-date_joined") #集合 serializer_class = UserSerializer #序列化 class GroupViewSet(viewsets.ModelViewSet): queryset = Group.objects.all() serializer_class = GroupSerializer四、URL
在tutorial/urls.py编写URL
这里有一处官网引入模块错误
from django.contrib import admin from django.urls import path, re_path #rest from django.conf.urls import url, include from rest_framework import routers # from tutorial.quickstart import views 官网模块引入写法,有误 from quickstart import views router = routers.DefaultRouter() #路由 router.register(r"users", views.UserViewSet) #路由地址与接口配置 router.register(r"groups", views.GroupViewSet) #注:path是新写法,url为老写法,若要使用正则,则使用re_path urlpatterns = [ path("admin/", admin.site.urls), #rest re_path(r"^", include(router.urls)), #包含进路由配置的url url(r"^api-auth/", include("rest_framework.urls", namespace="rest_framework")) #浏览器测试接口配置 ]五、设置
tutorial/settings.py下安装
INSTALLED_APPS = ( ... "rest_framework", )六、打开浏览器测试
python manage.py runserver
启动服务器后浏览器输入http://127.0.0.1:8000可进入接口测试页面
记得在右上角处点击登录
七、参考链接django用户验证机制:https://docs.djangoproject.co...
什么是Serializer:http://www.django-rest-framew...
什么是Serializer relations:http://www.django-rest-framew...
什么是viewsets:http://www.django-rest-framew...
url和re_path中r是什么:https://www.cnblogs.com/xuchu...
url与path区别:https://blog.csdn.net/endless...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/42385.html
摘要:更新尝试了一下实现前后端分离,新的文章如下前后端分离之初试更新可另外用实现前后端分离,这篇文章可能局限性太大,只是个人的入门实践刚刚学习前端快一年,后台方面了解甚少,于是决定踩踩坑,学习一下。 2018.9.6更新:尝试了一下REST framework实现前后端分离,新的文章如下Django前后端分离之REST framework初试 2018.8.27更新:可另外用 restful...
摘要:前言对于前后端分离大家可能在网上可以找到很多的文章。但是,我们今天分享的文章的英文我们的老师对于前后端的分离问题的多年工作经验的总结。今天,我们把这些经验总结知识点分享给大家,希望可以帮助到大家。添加开启黑白名单,任选其一。 前言 对于前后端分离大家可能在网上可以找到很多的文章。但是,我们今天分享的文章的英文我们的老师对于前后端的分离问题的多年工作经验的总结。今天,我们把这些经验总结知...
摘要:之序列化前后端分离就是前台的开发和后台的开发分离,这个技术方案的实现需要借助,简单来说就是开发人员提供编程的接口被其他人调用,调用之后会返回数据供其使用安装什么是序列化把模型对象转换为格式然后响应出去,便于客户端进行数据解析创建序列化类在应 Django RESTful API之序列化 前后端分离:就是前台的开发和后台的开发分离,这个技术方案的实现需要借助API,简单来说就是开发人员提...
摘要:理解这个统一标准的不符规范的资源没有统一实践一个例子图书管理系统技术栈前端后端要点验证前端路由统一的请求响应拦截处理权限控制表级对象级如下图最后,是否要做前后端分离的开发模式,取决于实际情况的多方位考量,适合的才是更好的。 所谓的前后端分离 渊源 前端发展史 特点 前端:负责 View 和 Controller 层 后端:只负责 Model 层,业务处理/数据等 优缺点 优点:解...
阅读 1477·2021-11-18 10:02
阅读 1622·2021-09-04 16:40
阅读 3148·2021-09-01 10:48
阅读 851·2019-08-30 15:55
阅读 1830·2019-08-30 15:55
阅读 1341·2019-08-30 13:05
阅读 2996·2019-08-30 12:52
阅读 1597·2019-08-30 11:24