前后端分离项目完整版

整体流程

a)新建一个干净项目,项目名为day15+名字首拼
b)编写种类Kind模型类,由动物种类kind_name组成,并自己添加3条数据,例如食肉动物
c)编写动物Animal模型类,动物名ani_name、体重weight、高度height、所属种类kind(外键)组成,并自己添加测试数据
d)实现以下功能:
编写后端代码:
1.种类的增删查改
2.动物的增删查改
3.查询所有动物信息,外键展示内容为种类名称
编写前端代码:
创建种类页面(实现功能1-3) 和 动物页面(实现功能4-6)
1.展示所有的种类信息
2.输入种动物名搜索对应的信息
3.点击种类名称,转跳到动物页面,可以查询对应种类下的动物信息。
4.可以修改动物信息,要求所属种类使用下拉框实现
5.可以添加动物信息,要求所属种类使用下拉框实现
6.点击删除按钮,删除动物信息
7.新增页面: 查询全部动物信息,按照动物的体重进行排序并展示

一. 后端

1.创建django项目

指定文件夹下输出cmd
创建django项目:	django-admin startproject 项目名
运行jiango项目:  python manage.py runserver
创建子应用:      python manage.py startapp 子应用名
生成迁移文件:	python .\manage.py makemigrations
执行迁移:		python .\manage.py migrate
创建超级用户:	python .\manage.py createsuperuser

2.配置项目settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'game',  # 子应用
    'rest_framework',  
    'corsheaders',
    # 'django_filters',  # 使用SearchFilter时,不需要注册django_filters
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',  #crf
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'corsheaders.middleware.CorsMiddleware'
]

CORS_ORIGIN_ALLOW_ALL = True

DATABASES = {
   
    'default': {
   
        'ENGINE': 'django.db.backends.mysql',
        'HOST': 'localhost',
        'PORT': 3306,
        'USER': 'root',
        'PASSWORD': 'root',
        'NAME': 'game',   # 需要创建数据库
    }
}

LANGUAGE_CODE = 'zh-Hans'

TIME_ZONE = 'Asia/Shanghai'

3.安装数据库__init__.py

import pymysql
pymysql.install_as_MySQLdb()

4.编写模型类

from django.db import models

# Create your models here.
class Kind(models.Model):
    kind_name = models.CharField(max_length=20,verbose_name='动物种类')
    class Meta:
        verbose_name='动物种类表'
        verbose_name_plural=verbose_name
        db_table='kind'
    def __str__(self):
        return self.kind_name

class Animal(models.Model):
    ani_name = models.CharField(max_length=20,verbose_name='动物名')
    weight = models.IntegerField(default=0,verbose_name='体重')
    height = models.IntegerField(default=0,verbose_name='高度')
    kind = models.ForeignKey(to=Kind,on_delete=models.CASCADE)
    class Meta:
        verbose_name='动物表'
        verbose_name_plural=verbose_name
        db_table='animal'
    def __str__(self):
        return self.ani_name

注册表 在admin.py

from django.contrib import admin
from myapp.models import Kind,Animal    # 模型类里面写的表
# Register your models here.
admin.site.register(Kind)
admin.site.register(Animal)

5.迁移,创建超级用户、添加测试数据

生成迁移文件: python .\manage.py makemigrations
执行迁移: python .\manage.py migrate
创建超级用户: python .\manage.py createsuperuser

6.路由分发

6.1.子应用里里面创建子路由

from django.urls import path
from myapp import views
from rest_framework import routers

urlpatterns = [
    path('ani2/',views.AnimalView2.as_view()),
]

router = routers.SimpleRouter()
router.register('kind',views.KindView,'kind')
router.register('ani',views.AnimalView,'ani')
urlpatterns += router.urls

6.2.主路由分发

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

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

7.编写序列化器

from rest_framework import serializers
from myapp.models import Kind,Animal

class KindSerializer(serializers.ModelSerializer):
    class Meta:
        model = Kind
        fields = '__all__'

class AnimalSerializer
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本门课程重实战,将基础知识拆解到项目里,让你在项目情境里学知识。 这样的学习方式能让你保持兴趣、充满动力,时刻知道学的东西能用在哪、能怎么用。 平时不明白的知识点,放在项目里去理解就恍然大悟了。   一、融汇贯通 本视频采用了前后端分离的开发模式,前端使用Vue.js+Element UI实现了Web页面的呈现,后端使用PythonDjango框架实现了数据访问的接口,前端通过Axios访问后端接口获得数据。在学习完本章节后,真正理解前后端的各自承担的工作。   二、贴近实战 本系列课程为练手项目实战:学生管理系统v4.0的开发,项目包含了如下几个内容:项目的总体介绍、基本功能的演示、Vuejs的初始化、Element UI的使用、在Django中实现针对数据的增删改查的接口、在Vuejs中实现前端增删改查的调用、实现文件的上传、实现表格的分页、实现导出数据到Excel、实现通过Excel导入数据、实现针对表格的批量化操作等等,所有的功能都通过演示完成、贴近了实战   三、课程亮点 在本案例中,最大的亮点在于前后端做了分离,真正理解前后端的各自承担的工作。前端如何和后端交互   适合人群: 1、有Python语言基础、web前端基础,想要深入学习Python Web框架的朋友; 2、有Django基础,但是想学习企业级项目实战的朋友; 3、有MySQL数据库基础的朋友  

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值