django前兩天內容回顧
阿新 • • 發佈:2022-12-12
目錄
django前兩天內容回顧
1.web框架的本質
1.連線前端與資料庫的中間介質 即socket服務端 2.在手寫web框架引出django的過程中使用了兩個內建模組通過'wsgiref'模組封裝了socket程式碼處理了http相關資料 再通過'jinja2'模組的模板語法:支援將python後端資料傳遞給html頁面並通過特殊語法完成操作 然後根據軟體開發目錄規範把檔案拆分 3.python主流web框架 django 大而全 fask 小而精 tornado 非同步非阻塞
2.django簡介以及基本使用
1.版本問題 django1.X:同步 1.11 django2.X:同步 2.2 django3.X:支援非同步 3.2 django4.X:支援非同步 4.2 2.執行django注意事項 1.django專案中所有的檔名目錄名不要出現中文 2.計算機名稱儘量也不要出現中文 3.一個pycharm儘量就是一個完整的專案(不要巢狀 不要疊加) 4.不同版本的python直譯器與不同版本的django可能會出現小問題 3.基本使用 1.下載 pip3 install django pip3 install django==版本號 pip3 install django==2.2.22 2.驗證 django-admin 3.常見命令 django-admin startproject 專案名 # 建立專案 cd 專案名 python38 manage.py runserver ip:port # 啟動專案 4.pycharm自動建立django專案注意 會自動建立templates資料夾 但是配置檔案中可能會報錯 os.path.join(BASE_DIR,'templates') 5.命令列建立應用 python38 manage.py startapp appname 6.pycharm建立應用 新建django專案可以預設建立一個 並且自動註冊 """ 建立的app一定要去settings.py中註冊 INSTALLED_APPS = [ 'app01.apps.App01Config', 'app02' ] """ 4.目錄結構 網址字尾 路由 函式 檢視函式 urls.py 路由層 views.py 檢視層 templates 模板層 models.py 模型層 5.django小白必會三板斧 from django.shortcuts import render,HttpResponse,redirect HttpResponse 返回字串型別的資料 render 返回html頁面並且支援傳值 redirect 重定向
3.靜態檔案及其配置
1.靜態檔案的概念
簡單的理解為html頁面需要使用到的不經常變化的資源
css檔案、js檔案、img檔案、第三方檔案
2.靜態檔案配置
STATIC_URLS = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static')
]
3.介面字首動態匹配
{% load static %}
{% static 'bbb/ccc/d.txt' %}
4.form表單相關注意事項
form標籤重要屬性 action 控制提交的地址 三種編寫 method 控制提交的方法 兩種方法 預設是get 網路請求方式 get 朝服務端請求資料 並且可以攜帶一些額外的不敏感的條件(大小有限制) URL?xxx=yyy&ooo=ppp post 朝服務端提交資料 也可以攜帶資料並且資料是放在請求體裡面的(大小沒有限制) 請求體
5.request物件方法
request.method
獲取當前請求的請求方法 結果是純大寫的字串 GET、POST
request.GET
獲取URL問號後面攜帶的資料 結果是一個QueryDict擁有字典的特性
request.GET.get() 值列表最後一個數據值
request.GET.getlist() 整個值列表
request.POST
獲取post請求請求體裡面的資料 結果也是一個QueryDict擁有字典的特性
request.POST.get() 值列表最後一個數據值
request.POST.getlist() 整個值列表
6.django連線資料庫
1.django預設自帶sqlite3小型資料庫
2.我們可以指定其他資料庫 比如MySQL
3.配置檔案中需要修改配置 DATABASES
1.新增相關配置mysql、NAME、HOST、PORT、USER、PASSWORD、CHARSET
2.需要下載mysqlclient模組(如果是django1.X版本可以用pymysql)
7.ORM簡介以及基本操作
1.什麼是ORM?
物件關係對映
優勢>>>:簡單方便快捷
劣勢>>>:效率可能會低
2.基操作
models.UserInfo.objects.create() # insert into
models.UserInfo.objects.filter() # where
models.UserInfo.objects.filter().update() # update
models.UserInfo.objects.filter().delete() # delete from
3.資料庫遷移命令
1.models.py中編寫了與資料庫相關的程式碼
2.python38 manage.py makemigrations # 將程式碼操作記錄下來 migrations目錄
3.python38 manage.py migrate # 將操作真正同步到資料庫中