Django REST Framework

Django REST Framework (DRF) 是一个用于构建 Web API 的高级、简洁且易于使用的Python库,它是基于著名的Web框架Django而创建的。DRF提供了一套强大的工具和约定,简化了处理HTTP请求和响应的过程,以及序列化数据到JSON格式。它支持常见的RESTful架构模式,如资源定义(Resources)、视图集(ViewSets)、序列化器(Serializers)、认证和授权等。

通过DRF,你可以快速地创建API端点、处理HTTP方法(GET、POST、PUT、DELETE等)、分页和过滤数据、处理文件上传,并且可以轻松集成各种验证策略。DRF还提供了自动化的文档生成,使得开发者和API使用者能够方便地了解API的功能和使用方法。

1.项目初始化

新建Django项目

使用指令构建项目 ------> python manage.py startapp studentweb  

新建Python Package命名为app,并将上述指令生成的studentweb 文件夹拖拽到app中并将app文件夹设置为 Sources Root 类型

 

将项目注册到settings.py下的 INSTALLED_APPS中,并使系统可以定位到app文件夹

 2.连接Mysql

安装pymysql ---> pip install pymysql -i https://mirrors.aliyun.com/pypi/simple/

在和settings.py同目录下的__init__.py文件中添加如下配置

import pymysql
pymysql.install_as_MySQLdb()

在settings.py配置Mysql连接信息如下

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '数据库名',
        'USER': '用户名',
        'PASSWORD': '密码',
        'HOST': '地址',
        'PORT': '端口'
    }
}

 3.定义models类

from django.db import models

# Create your models here.
class Faculty(models.Model):
    name = models.CharField(verbose_name="学院名称",max_length=100,unique=True,null=False,blank=False)

    class Meta:
        managed = True
        app_label = "studentweb"
        db_table = "Stu_Faculty"

    def __str__(self):
        return "%s" % (self.name)

class Major(models.Model):
    name = models.CharField(verbose_name="专业名称",max_length=100,null=False,blank=False)
    faculty = models.ForeignKey(verbose_name="所属学院",to=Faculty,on_delete=models.PROTECT)

    class Meta:
        managed = True
        app_label = "studentweb"
        db_table = "Stu_Major"

    def __str__(self):
        return "%s" % (self.name)


class Student(models.Model):
    sno = models.CharField(verbose_name="学号", max_length=100, primary_key=True, null=False, blank=False)
    name = models.CharField(verbose_name="姓名", max_length=100, null=False, blank=False)
    gender = models.CharField(verbose_name="性别", max_length=100, null=True, blank=True, default=None)
    birthday = models.DateField(verbose_name="出生日期", null=True, blank=True, default=None)
    major = models.ForeignKey(verbose_name="专业", to=Major, on_delete=models.PROTECT)
    mobile = models.CharField(verbose_name="电话", max_length=100, null=True, blank=True, default=None)
    email = models.CharField(verbose_name="邮箱", max_length=100, null=True, blank=True, default=None)
    address = models.CharField(verbose_name="地址", max_length=100, null=True, blank=True, default=None)
    image = models.CharField(verbose_name="照片", max_length=100, null=True, blank=True, default=None)

    class Meta:
        managed = True
        app_label = "studentweb"
        db_table = "Stu_Student"

    def __str__(self
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值