1. 程式人生 > 其它 >django前兩天內容回顧

django前兩天內容回顧

目錄

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  # 將操作真正同步到資料庫中