学习B站django3.2.9视频笔记(一)
第一章,1.1-1.17
自己在学习中遇到了一些问题及总结
站内视频链接:
https://www.bilibili.com/video/BV1NL41157ph?p=1&vd_source=b11dbfd29e8fa0e7e0775c49ba97c80f
一、下载
1. 使用pyhon3.9版本,下载该版本
2. 安装django3.2.9版本,默认django4,win+r键进入运行,输入cmd,回车
pip install django==3.2.9 -i https://mirrors.aliyun.com/pypi/simple/


二、创建django项目
在F盘创建pyDwork文件夹
打开cmd
F:
cd pyDwork
创建django项目
django-admin startproject showdjango #创建的项目名:showdjango
cd MyDjango # 进入该目录
python manage.py startapp showdjango #创建应用:showdjango


不要以这种方式打开django项目,要以根目录为showdjango打开,不然迁移数据库会报错
正确打开方式为下面在数据库迁移时的图片

这种打开方式式错误的,后面mydjango项目是正确的打开方式,以此示范,说明问题,防止初学者在迁移数据库时找不到错误方向

三、app创建

一般一个小项目只创建一个app



四、注册app,启动django

1.编写视图和url的关系,在url.py文件下编写,报红不要管,后面打开方式对了就不报了

2.编写试图函数,在views.py中编写

3.启动django项目


五、返回html,templates模板
urls.py

views.py

创建文件夹,再创建html文件


六、静态文件
1.创建储存css、图片、js、插件的文件夹


2.模板语法


七、请求和响应

{%csrf_token%}为django自带的一种form表单保护



八、ORM连接数据库
pip install mysqlclient -i https://mirrors.aliyun.com/pypi/simple/

Mysql解压版安装,根目录下新建my.ini文件进行配置,并将bin目录添加至环境变量,
环境变量不会添加的返回去先学基础

配置my.ini文件,路径需要更改,看我配置的位置和自己的要一样,不然迁移数据库直接GG
[client]
port=3306
default-character-set=utf8
[mysqld]
skip-grant-tables
port=3306
character_set_server=utf8
basedir=D:\mysql-5.7.27-winx64
#解压目录
datadir=D:\mysql-5.7.27-winx64\data
#解压目录下data目录
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
D:\mysql-5.7.27-winx64\bin\mysqld.exe
mysqld --initialize-insecure
mysqld -install
net start mysql

修改默认密码

解压完毕
登录mysql
mysql -uroot -p123456
启动MySQL服务,并用自带工具创建数据库,数据库名为djangodata
create database djangodata DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

配置文件中更改settings.py,注释掉sqlite数据库配置,增加mysql配置
数据库名字看清楚,别写错了或者写成自己创建的别的数据库名字了,我下面是一个错误示范


_init_.py不能动,每次迁移前删去0001*****.py类似的文件,每次修改models.py中的字段,都要重新执行下面两个命令
1.执行python manage.py makemigrations生成0001开头文件


2.执行迁移数据库指令python manage.py migrate


一定要检查配置文件中的数据库名字和自己创的数据库名字一致,我就在这浪费时间过长

⭐⭐⭐⭐⭐必须以项目作为根目录在pycharm中打开



迁移成功
九、案例(包含表操作增删改查)
1. 在已经迁移过的数据表中添加字段时,可以使用default设置默认值或者设置可以为空

2. 新建数据

3. 添加数据页、展示数据页





浏览器清除缓存在启动django,不然数据会添加好几条
利用get方法请求拼接造路由“?”后面的内容,get方法请求,在views.py中用get方法接收url传回来的值





在前端页面上点击删除

删除成功