• Django案例-学员管理系统


    Django案例-学员管理系统

    概要

    本篇是记录的是《Django企业开发实战》书中的学员管理系统,个人对该案例的实现、理解以及自己认为比较重要的知识点,该笔记包括:后台开发、前端开发、项目进阶以及重点知识点

    环境

    centos7+Python3.6.4+Django3.2.16

    后台开发

    需求

    学员管理系统基本功能包括:前台页面:展示学员信息+提交学员信息;后台页面:处理学员信息

    创建虚拟环境

    • 虚拟环境作用

      起到解耦作用,让本项目与其他项目隔离开,起到互不影响的效果,同时方便后续打包项目

    • 虚拟环境工具

      • Python自带venv

        python -m venv project-env 创建虚拟环境

        cd project-env 进入虚拟环境目录

        source bin/activate 激活虚拟环境

        deactivate 退出虚拟环境

        image-20221109140856017

      • virtualenv

        pip install virtualenv 安装virtualenv

        mkvirtualven project-env -p ‘which python3.6’ 创建虚拟环境,-p指定Python版本为3.6

        workon 查看虚拟环境列表

        woekon project-env 进入名为project-env的虚拟环境

        deactivate 退出虚拟环境

        image-20221109141520661

    • 提示

      这里选择一种虚拟环境即可,没有特殊要求

    创建Django项目和应用

    • 安装Django

      进入虚拟环境安装Django

      pip install Django

    • 创建项目

      选择项目位置开始创建项目

      django-admin startproject student_sys

      image-20221109142223113

    • 创建应用

      进入student_sys文件夹

      cd student_sys

      通过manage来创建应用

      python manage.py startapp student

    • 修改配置

      进入sitting.py文件,将student应用加到INSTALLED_APPS列表中,同时修改中文和对应时间

      image-20221109160148275

      image-20221109160224531

    model模块+admin模块开发

    • model模块代码编写

      在student应用里找到models.py文件,该文件是用来与数据库打交道的文件

      image-20221109161058364

    • 数据库迁移

      python manage.py makemigrations 创建数据库迁移文件

      Python manage.py migration 创建表

      Python manage.py createsuperuser 创建后台登录名和登录账户,根据提示数据用户名、邮箱、密码即可

    • admin模块代码编写

      image-20221109161739909

    页面展示

    在manage.py所在的页面运行Python manage.py runserver 文件

    打开浏览器输入127.0.0.1:8000/admin 即可进入后台页面

    知识点

    • 注意点:在运行python manage.py XXX 的时候可能会出现Sqlite版本低的情况,百度跟着教程换个版本即可

      image-20221109162115481

    前端开发

    页面基本展示
    • view.py部分

      前端发来请求,会经过view.py进行处理数据,然后返回HTML页面文件,在这里我们先读取数据库中的数据

      views.py文件导入model.py文件,然后通过model.objects.all()来读取所有数据

      render(request,‘html’,context)方法是用来渲染页面的,第二个参数是Html文件,context是一个字典,向html文件中传入的参数

      from django.shortcuts import render
      
      from .models import Student
      
      def index(request):
          students = Student.objects.all()
          return rander(request,'index.html',context = {"students":students})
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
    • templates.py部分

      Django在渲染模板或者静态页面时,会向每个APP下寻找templates文件夹,然后找到你render中对应的html文件名,进行渲染;寻找顺序是从上到下;

      所以这里我们在views.py所在的位置创建templates文件夹,然后在里面创建index.html文件

      image-20221109164136278

    • url部分

      views和html文件准备好后,就需要打通访问路径了,这里先在students_sys中URL文件中指定访问函数

      from django.contrib import admin
      from django.urls import path
      from student.views import index
      
      urlpatterns = [
          path('admin/', admin.site.urls),
          path('',index,name='index')
      ]
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
    • 页面展示

      运行项目,访问127.0.0.1:8000即可获取数据库中的数据了

      image-20221109164546684

    提交数据

    提交数据涉及到form表单了,Django给了djang.forms类来设计表单

    • forms.py文件

      views.py同目录下创建forms.py文件

      image-20221109165826537

    • views.py文件

      image-20221109170246949

      这里使用View类的话,URL部分也需要修改

      image-20221109170441688

    项目进阶

    这里一共三个知识点:View类、middleware中间件、单元测试

    Django文档知识点

    ]

    • views.py文件

      [外链图片转存中…(img-hgiFz2F7-1667993562207)]

      这里使用View类的话,URL部分也需要修改

      [外链图片转存中…(img-Nv9okvW2-1667993562208)]

    项目进阶

    这里一共三个知识点:View类、middleware中间件、单元测试

    Django文档知识点

  • 相关阅读:
    Redis安装到Windows系统上的详细步骤
    npm、yarn、pnpm
    golang 求立方根
    通过TeamViewer 进行连接三种不同的方式
    Win:将一般用户添加到 Local Admins 组中
    Redis发布订阅模式
    嵌入式软件工程师面试题——2025校招社招通用(十六)
    ML之shap:基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用Shap值对XGBoost模型实现可解释性案例之详细攻略
    vpp 中 load balance 的实现
    Umami自建网站统计工具-免费开源的网站访问流量统计分析平台
  • 原文地址:https://blog.csdn.net/py_xiaoguaishou/article/details/127776231