2021-07-02 暑期项目实训心得二


前言

小组决定使用vue前端+DRF后端进行编程,采用前后端分离的结构。这里先进行学习。


一、DRF的配置

1.创建项目

首先使用pycharm新建项目,选择虚拟环境。

在这里插入图片描述
创建后结构如下:(serializers.py是自己创建的)
在这里插入图片描述

2.在选择的虚拟环境中安装库

在这里插入图片描述

3.更改settings文件

增加’rest_framework’
在这里插入图片描述
在settings中设置权限策略

# 设置权限策略:
REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAdminUser',
    ],
    'PAGE_SIZE': 10
}

4.数据迁移与管理员创建

cd到项目目录下

python manage.py migrate
python manage.py createsuperuser

5.创建数据序列化

在api下面新建serializers.py文件
我理解的是传过来的数据格式
其中model用了定义好的,也可以在models文件中自己写

from django.contrib.auth.models import User, Group
from rest_framework import serializers
class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ('url', 'username', 'email', 'groups', 'is_staff')


class GroupSerializer(serializers.HyperlinkedModelSerializer):
   class Meta:
        model = Group
        fields = ('url', 'name')

6.视图函数

在views中增加代码
理解的是对数据的操作

from django.contrib.auth.models import User, Group
from rest_framework import viewsets
from api.serializers import UserSerializer, GroupSerializer
 
 
class UserViewSet(viewsets.ModelViewSet):
    """
    允许用户查看或编辑的API路径。
    """
    queryset = User.objects.all().order_by('-date_joined')
    serializer_class = UserSerializer
 
 
class GroupViewSet(viewsets.ModelViewSet):
    """
    允许组查看或编辑的API路径。
    """
    queryset = Group.objects.all()
    serializer_class = GroupSerializer

7.在项目目录下url.py中,添加api的路由配置:

不配置好url,页面会打不开

router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
router.register(r'groups', views.GroupViewSet)
urlpatterns = [
url(r'^', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]

8.运行

在pycharm中运行后端
在这里插入图片描述
成功后点开链接即可查看
在这里插入图片描述
由于设置了权限策略,直接进入会返回403
登录刚才创建的超管账号后,可以看到两个url,分别是设置用户和设置用户组
在这里插入图片描述
进入第一个url,最下方可以添加用户,添加后的用户可在上方显示
在这里插入图片描述
在后台操作,pycharm下方都会有记录
在这里插入图片描述

完成了DRF的搭建

总结

Django rest framework在Django上进行了扩展,在python中有着很重的地位,学习DRF将为小组项目编程打下基础。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值