django3.x的自我学习记录(持续更新!!!自己做一个简陋的项目,代码容易理解,适合新手学习)

涉及到的环境

系统:win10
Python版本:3.9
Pycharm版本:PyCharm 2020.3.3 x64
Django版本:3.1.7
Mysql版本:8.0
Navicat 15 for MySQL

前言

好久没更新博客,一直在看博客,因为最近要学习的东西实在是有点多,我也没有精力去写博客,但是每次我上CSDN上再也没有小红点了,我知道,我该更新更新博客,记录下自己的学习了。
在这里插入图片描述
现在是4月1日的22:36分,我开始了这篇博客的撰写。
先分享了最近学了些什么,前端HTML,CSS,但也是仅仅了解了一下标签什么的,应用的都很少
跟着教程走还有JS和JQery,但是我没学/(ㄒoㄒ)/~~本着一个往后端发展的想法,我有我的小倔强。但是经历过web继续的学习后,我发现我错了,前端的东西还是要学的,连一个DIV P A 各种标签都看不懂的话,根本没办法进行前后端的交互,并且到时候学习爬虫分析网页,都整不明白,所以被现实教育之后的我,现在放下所谓的倔强,潜下心来去学前端代码。

正文

web学习的深入,我学习到了django框架,哎,太烦躁了,我学的教程中的django版本1.x 但是现在的django都已经3.1了,有一些东西发生了不小的变化,我在CSDN上找了好多关于Django的教程,但无一例外,都是毕竟老的版本django教程,最新的才是2,x。就算是有django3.x的教程,也是非常浅显的教你创建项目,还不如官方文档呢!
所以我由我编写的项目作为切入点,记录自己学习最新的django3.x
其实,我学习就好了,看看官方文档就可以了,为什么要做项目?
在这里插入图片描述
感谢老师,长达60s的语音,听的我心yu花ba怒bu放neng。
就是我们学校要参加一个全国大学生设计大赛,我想本着以赛督学的想法,利用django搭建一个学生管理系统,大一知识储备匮缺,所以参加了解一下流程,项目质量略次。最重要是一个锻炼自己的机会!

开始了,django项目的创建

Django的学习,一定要看这个,如果不明白可以给我留言私信,但因为技术有限,仅限下图
在这里插入图片描述

Django的创建,哎,这个东西,我真的不想写出来,像一些博主一样凑字数,我真的是吐了
我就把代码写出来,况且都已经学习到了框架,该有些看到报错自行解决问题的能力了,真的想学的人会自己尝试(试一试又不会怀孕)
因为我的项目做了一些了,本着惰性本能,我就不重新开始了,直接截图也可以明白!
到后面我会博客紧跟项目,**项目做什么,博客就更新什么。**所以说,按照我前面的环境配置好,跟着博客,你也可以可以完成这个项目(我为了学习Django去GitHub上找源码,总是因为作者没写清楚依赖,所以源码从来没有跑成过),我能一步步写,真的非常适合新手的学习!!!!

创建Django项目和应用
以下都在cmd窗口中运行

django-admin startproject name 创建工程,name换成你要起的名字

python manager.py startapp name 创建子应用,name换成你要起的名字

因为pycharm可以直接创建Django所以,其实只需要执行下面的代码,创建应用即可
在这里插入图片描述
在这里插入图片描述
工程创建好了,我们就可以输入这指令,使你的Django运行起来

python manage.py runserver

这样你的Django就跑起来了,但是作为一个汉语为第一语言的人,你怎能忍受住英语的折磨,所以你去setting里面修改一下语言
在这里插入图片描述
修改成功后,在进行一个

python manage.py runserver

这样你看到这个画面,你就是成功了。 祝贺你!!!
在这里插入图片描述
ps:现在已经弄好了不好展示出这个界面了,所以偷个懒,把当初第一次安装好DJango记录自己的照片拿过来

还有一步很重要,修改你的配置数据库
Django本身自带一个轻量级数据库sqllite
我们把它换成mysql,
首先去工程目录里面找到__init__文件,添加下面的代码,并且形成一种惯性思维,修改数据库,就要声明它!
代码在这里

import pymysql
pymysql.install_as_MySQLdb()

在这里插入图片描述

然后去你的工程目录里面的setting里面找到这个,修改成我这个样子,就可以了
在这里插入图片描述
记得在运行前,一定要在mysql里面已经创建好对应的库

当你建立好子应用名字之后,一定要去setting文件里面去注册,告诉Django你创建了一个应用程序
在这里插入图片描述

始终牢记MVT的流程
M:model(模型模块)
V:views(视图模块)
T:templates(模板模块)
也就是说建立好了工程以后,首先去model里面去创建模型(可以暂时理解为数据,类就是表名,类里面是字段),记得是在你的app里面
接下来我把我的model文件写出来

model代码

from django.db import models

# Create your models here.
from django.db import models

# Create your models here.
'''
学生信息: 学号int 姓名char 性别char 年龄int 入学年份data 所在专业char 班级char 导员姓名char
考试成绩:考试科目 考试成绩
课程信息:课程名 课程老师 上课教室
'''


# 学生信息
class StdentInformation(models.Model):
    student_id = models.CharField(max_length=30, verbose_name='学号')
    student_age = models.IntegerField(verbose_name='年龄')
    student_name = models.CharField(max_length=100, verbose_name='姓名')
    student_sex = models.CharField(max_length=5, verbose_name='性别')
    start_year = models.CharField(max_length=10, verbose_name='入学年份')
    specialty = models.CharField(max_length=20, verbose_name='所在专业')
    student_class = models.CharField(max_length=10, verbose_name='班级')
    teacher_name = models.CharField(max_length=20, verbose_name='导员姓名')

    def __str__(self):
        return self.student_name

# 考试成绩
class StudentScore(models.Model):
    student_id = models.CharField(max_length=30, verbose_name='学号')
    sub_ject = models.CharField(max_length=10, verbose_name='科目')
    score = models.CharField(max_length=10, verbose_name='成绩')


# 课程信息
class StudentCourse(models.Model):
    student_id = models.CharField(max_length=30, verbose_name='学号')
    sub_name = models.CharField(max_length=10, verbose_name='课程名')
    sub_tcacher = models.CharField(max_length=10, verbose_name='课程老师')
    sub_class = models.CharField(max_length=10, verbose_name='上课教师')


views代码

M弄完了,就该弄V了,views
views就是视图的意思,就是编写你的函数,在这个里面实现你后端代码逻辑!

from django.shortcuts import render
from django.http import HttpResponse
from querysys.models import StdentInformation


# Create your views here.
def index(request):
    return HttpResponse('hello')


def searchstudent(request):
    
    return render(request, 'test.html')


def lookfor(request):
    student_id = request.POST.get('student_id')
    objects_all = StdentInformation.objects.all()
    try:
        student = objects_all.get(student_id=student_id)
    except Exception as e:
        return HttpResponse('找不到学生信息', e)
    student_name = student.student_name
    context = {
        'student_name': student_name
    }
    return render(request, 'test2.html', context)

可能现在看不懂代码,不过没关系,静下心来分析代码,其实逻辑还是很简单的,看愿不愿意看下去
接下来就是设置路由了 url
你得让对应的浏览器请求找到对应的视图
先去你的工程里面找url
在这里插入图片描述
重点已经用红色标注了

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

]

include引导进了子应用的url。 因为你创建的子应用没有url文件,所以我们自己创建一个文件
在这里插入图片描述
里面的代码是

from django.urls import path
from querysys.views import index, searchstudent, lookfor

urlpatterns = [
    path('', index),
    path('searstudent/', searchstudent),
    path('lookfor/', lookfor),
]

先写到这里,还会继续更新,紧跟我的项目。
到4月3日21:52分,我已经开始尝试使用前端模板,先给大家展示个样子
在这里插入图片描述
在这里插入图片描述

好了,还会继续更新下去,如果觉得我写的还可以,给我点赞,评论,关注吧!我会认真回复每一条评论!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值