drf入门实例操作序列化【1】

1.环境配置安装

1.1创建虚拟环境

创建虚拟环境目录

virtualenv -p python drfdemo

进入虚拟生产环境:

source drfdemo/bin/activate

1.2安装需要的依赖

查看当前环境下的库

pip list

安装django,djangorestframework

pip install django -i  https://pypi.tuna.tsinghua.edu.cn/simple/
pip install djangorestframework

2.创建django项目

2.1生成django

2.2创建app

2.3用pycahrm打开项目

2.4修改环境变量,使用刚才生成的虚拟环境

2.5.添加rest_framework,student应用

3.开始代码

3.1创建模型类

student.models.py

from django.db import models

class Student(models.Model):
    GENDER_CHOICES=(
        (1,'male'),
        (2,'female'),
    )
    name=models.CharField(max_length=32)
    sex=models.IntegerField(choices=GENDER_CHOICES)
    birth=models.DateField(blank=True,null=True)
    desc=models.TextField(max_length=1024)

3.2数据迁移,生成数据库

Tools-Run manage.py Task

执行

makemigrations

migrate

3.3创建序列化器

student应用下新建serializers.py

from rest_framework import serializers
from .models import Student
class StudentModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = Student
        fields = "__all__"

3.4编写视图函数

student应用下views.py

from django.shortcuts import render

from rest_framework.viewsets import ModelViewSet
from .models import Student
from .serializers import StudentModelSerializer


class StudentViewSet(ModelViewSet):
    queryset = Student.objects.all()
    serializer_class = StudentModelSerializer

3.5定义路由

student.urls.py

from . import views
from rest_framework.routers import DefaultRouter


urlpatterns = []

router = DefaultRouter()  # 自动生成curd的url
router.register('students', views.StudentViewSet)  

urlpatterns += router.urls 

myweb.urls.py

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('stu/', include('student.urls')),
]

4.运行项目

python manage.py runserver

5.测试

http://127.0.0.1:8000/stu/students/

get提供查询列表

post添加数据

http://127.0.0.1:8000/stu/students/1/

put,修改数据

delete,删除数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值