**前后端分离的DRF框架**

目录

DRF基础理论

使用DRF前提      

创建一个简单的应用

总结


DRF基础理论

        DRF是一个前后端分离的框架,其实就是django框架的一个应用 django restful framework ,专门为前后端分离设计的。

        web有两种开发方式:

        1.前后端不分离,例如django以及flask,当然也不是绝对的,这两种框架也可以用于前后端分离,只不过用起来很麻烦,不如专业的前后端分离框架。(这两种框架视图返回的是html页面,但是h5标签不能够被小程序以及app识别)

        2.前后端分离:例如drf以及fastapi,也可以用于前后端不分离,当然也是很麻烦的。这两种框架视图返回的是json数据,能够被小程序,app以及网页识别)

        django restful framework中的restful指的是一种路由风格。遵守rest约束的路由就叫做restful路由。

        名词通常用复数来表示,例如category就用categorys来表示。

        HTTP请求动词指的是请求方式,经常使用GET,POST,PUT,PATCH以及DELETE。

        常见状态码:

        200请求成功

        201创建成功

        204删除成功

        301永久重定向

        302临时重定向

        303服务器未更改

        

        403权限不够

        404页面丢失,请求地址错误

        405请求方式不对

        500服务器有错误


使用DRF前提      

        1.新建一个工程,下载django模块以及djangorestframework模块。

        2.新建一个django项目,该行代码需要在终端里面运行,运行成功后更目录下方会多出一个文件。

python startproject 项目名

        3.将下载好的djangorestframework模块进行注册,打开刚才新建的项目文件夹,点开settings.py文件,找到INSTALLED_APPS,并在列表最后添加上'rest_framework',到此为止就注册好了。

        4.添加路由,打开与settings.py同级下方的urls.py文件,并且在列表urlpatterns最后添加以下代码。

path('', include('rest_framework.urls',namespace='rest_framework')),

第一对单引号里面可以为空,也可根据自己的需求自行更改。这个路由里面自带登录以及退出路由。

        5.将drf真正的引入进来,还是在urls.py里面进行添加需要得到代码。

from rest_framework import routers
route = routers.DefaultRouter()

        这两行代码是将routes引入进来并创建一个实例。

path('api/', include(route.urls)),

        这行代码是将drf的路由添加进来,第一对单引号里面的内容也是自行更改。

        到此为止,前提工作基本结束,能够保证后期的基本操作。


创建一个简单的应用

        1.使用django创建一个子应用。

cd 项目名
python manage.py startapp 子应用名

        根据自己的需要修改项目名以及子应用名,在这里我使用的是mysite以及news。

        2.将新建的子应用进行注册,和注册djangorestframework模块一样,将子应用名用引号引起来添加到列表INSTALLED_APPS最后。

        3.根据自己的需要在新建的子应用下的models.py文件中建立模型。以下是我建立的模型,可以进行模仿,根据自己的需求进行修改。

from django.db import models


class Category(models.Model):
    title = models.CharField(max_length=50, unique=True, verbose_name="分类名")

    def __str__(self):
        return self.title

        4.在子应用下xinjianyigepy文件,命名为serializers,这个命名不是固定的,自行修改。建这个文件的目的是创建序列化类。可以参考我的代码。

from rest_framework import serializers
from .models import Category


class CategorySerializer(serializers.ModelSerializer):
    class Meta:
        model = Category
        fields = ['url', 'id', 'title']

        前提要导入serializers模块,需要用到这个模块来进行序列化,在代码中可以看出来还需要导入需要进行序列化的类。这是固定的格式,CategorySerializer是序列化类名,一般都是需要进行序列化的类跟上Serializer,后面括号中的serializers.ModelSerializer意思是继承了模块serializers中的ModelSerializer方法,也可以使用HyperlinkedModelSerializer,HyperlinkedModelSerializer是最高级的但是不常用,一般都是使用ModelSerializer。Meta是一个元类,而且是必须要有的,model指的是需要序列化的类,在代码中指的就是从models中导入的Category,fields指的是需要序列化的字段。

        5.将子应用的路由注册,重新回到主应用下的urls.py中,并添加以下代码即可。

from news.views import CategoryViewSet
route.register('categorys',CategoryViewSet)

        第一行将需要注册的视图集导入进来,第二行进行注册。通常括号内第一对单引号中的是类名转小写并加上s,逗号后面的就是需要进行注册的视图集。

        6.终端输入python manage.py runserver启动服务器,前提是创建一个超级管理员账号,python manage.py createsuperuser。


总结

        初步认识了什么是DRF框架,以及DRF框架的使用方法,DRF框架就是一个前后端分离的框架,方便前段攻人员与后端工作人员的对接,能够提高工作效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C&&Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值