學(xué)習(xí)B站django3.2.9視頻筆記(一)
第一章,1.1-1.17
自己在學(xué)習(xí)中遇到了一些問題及總結(jié)
站內(nèi)視頻鏈接:
https://www.bilibili.com/video/BV1NL41157ph?p=1&vd_source=b11dbfd29e8fa0e7e0775c49ba97c80f
一、下載
1.?使用pyhon3.9版本,下載該版本
2.?安裝django3.2.9版本,默認(rèn)django4,win+r鍵進(jìn)入運(yùn)行,輸入cmd,回車
pip install django==3.2.9 -i https://mirrors.aliyun.com/pypi/simple/


二、創(chuàng)建django項(xiàng)目
在F盤創(chuàng)建pyDwork文件夾
打開cmd
F:
cd pyDwork
創(chuàng)建django項(xiàng)目
django-admin startproject showdjango???????#創(chuàng)建的項(xiàng)目名:showdjango
cd MyDjango? ? ? ? # 進(jìn)入該目錄
python manage.py startapp showdjango #創(chuàng)建應(yīng)用:showdjango
?


不要以這種方式打開django項(xiàng)目,要以根目錄為showdjango打開,不然遷移數(shù)據(jù)庫會(huì)報(bào)錯(cuò)
正確打開方式為下面在數(shù)據(jù)庫遷移時(shí)的圖片

這種打開方式式錯(cuò)誤的,后面mydjango項(xiàng)目是正確的打開方式,以此示范,說明問題,防止初學(xué)者在遷移數(shù)據(jù)庫時(shí)找不到錯(cuò)誤方向
?
?

三、app創(chuàng)建
?

一般一個(gè)小項(xiàng)目只創(chuàng)建一個(gè)app
?



?
?
?
四、注冊app,啟動(dòng)django
?

1.編寫視圖和url的關(guān)系,在url.py文件下編寫,報(bào)紅不要管,后面打開方式對(duì)了就不報(bào)了
?

2.編寫試圖函數(shù),在views.py中編寫
?

3.啟動(dòng)django項(xiàng)目
?


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

views.py
?

創(chuàng)建文件夾,再創(chuàng)建html文件
?
?


六、靜態(tài)文件
1.創(chuàng)建儲(chǔ)存css、圖片、js、插件的文件夾
?


?
2.模板語法
?
?


七、請(qǐng)求和響應(yīng)
?

{%csrf_token%}為django自帶的一種form表單保護(hù)
?



?
?
?
八、ORM連接數(shù)據(jù)庫
pip install mysqlclient -i https://mirrors.aliyun.com/pypi/simple/
?

Mysql解壓版安裝,根目錄下新建my.ini文件進(jìn)行配置,并將bin目錄添加至環(huán)境變量,
環(huán)境變量不會(huì)添加的返回去先學(xué)基礎(chǔ)
?

配置my.ini文件,路徑需要更改,看我配置的位置和自己的要一樣,不然遷移數(shù)據(jù)庫直接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
?

修改默認(rèn)密碼
?

解壓完畢
登錄mysql
mysql -uroot -p123456
啟動(dòng)MySQL服務(wù),并用自帶工具創(chuàng)建數(shù)據(jù)庫,數(shù)據(jù)庫名為djangodata
create database djangodata DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
?

?
配置文件中更改settings.py,注釋掉sqlite數(shù)據(jù)庫配置,增加mysql配置
數(shù)據(jù)庫名字看清楚,別寫錯(cuò)了或者寫成自己創(chuàng)建的別的數(shù)據(jù)庫名字了,我下面是一個(gè)錯(cuò)誤示范
?


?
_init_.py不能動(dòng),每次遷移前刪去0001*****.py類似的文件,每次修改models.py中的字段,都要重新執(zhí)行下面兩個(gè)命令
1.執(zhí)行python manage.py makemigrations生成0001開頭文件
?


2.執(zhí)行遷移數(shù)據(jù)庫指令python manage.py migrate
?


一定要檢查配置文件中的數(shù)據(jù)庫名字和自己創(chuàng)的數(shù)據(jù)庫名字一致,我就在這浪費(fèi)時(shí)間過長

?????必須以項(xiàng)目作為根目錄在pycharm中打開
?



?
?
遷移成功
?
?
?
?
九、案例(包含表操作增刪改查)
1.?在已經(jīng)遷移過的數(shù)據(jù)表中添加字段時(shí),可以使用default設(shè)置默認(rèn)值或者設(shè)置可以為空
?

2.?新建數(shù)據(jù)
?

?
3.?添加數(shù)據(jù)頁、展示數(shù)據(jù)頁
?
?
?





瀏覽器清除緩存在啟動(dòng)django,不然數(shù)據(jù)會(huì)添加好幾條
利用get方法請(qǐng)求拼接造路由“?”后面的內(nèi)容,get方法請(qǐng)求,在views.py中用get方法接收url傳回來的值





?
?
?
?
在前端頁面上點(diǎn)擊刪除
?

刪除成功