Django的各種初識

2022-05-15 17:12:22 字數 3612 閱讀 4741

1,django專案的各個檔案的介紹

1.1>專案的根目錄:是各個子檔案的根目錄,在各個檔案相互匯入檔案的時候使用

1.2>配置檔案:為django的各個檔案配置相關的各種預設配置

1.3>路徑和函式的對應關係:是當form表單提交資料的時候和有關於**的東西都會來urls來查詢向對應的東西

1.4> 專案的靜態檔案:用於存放於靜態的比如:css,js,bootstrap,jquery,img檔案等

1.5>templates:存放html檔案的地方

1.6>manager:是命令列入口檔案

1.7>db.aqlite3:django開發環境預設的檔案資料庫

2,瀏覽器和django伺服器請求,響應的過程

第一步先向伺服器get login的頁面這次是請求,(method=get)

第二步,當訪問伺服器的時候,伺服器獲取到login/(通過request)去urls去尋找login函式

在第三步,django會幫助login自動執行login函式,並傳乙個request的引數,這個request是django封裝了所有和瀏覽器請求有關的所有的鍵值對

第四步執行login函式的以後,要返回login的html檔案,在這裡render是返回檔案的專屬

在第四步return返回給呼叫者,(其實是返回給了request)此時,request裡有html檔案的路徑,然後瀏覽器去渲染這個html檔案 

3,form表單提交資料的三要素:

3.1>form標籤必須標籤必須要有action和method屬性(action是向那提交資料,method是以什麼樣的方式提交資料(post,get))

3.2>所有獲取使用者輸入的標籤必須放在form表單中,必須要有name屬性(name=值的鍵值對 ) 

3.3>必須要有submit按鈕(提交)

4,django基礎必會三件套

4.1>httpresponse:返回乙個指定的字串

4.2>render:返回乙個html檔案

4.3>redirect:跳轉

5,request相關的屬性

5.1>request.method  --->返回的是請求的方法(全大寫):get/post...

5.2>request.get      --->取得的是url裡面的引數,類似於字典的節後資料

5.3>request.post   --->post提交的資料,類似於字典的資料結構

6,django的模板資料語言:}

7,程式連線pymysql

7.1>匯入偏移mysql模組

7.2>建立連線

7.3>獲取執行命令的油表

7.4>用油表去執行sql語句

7.5>獲取sql語句查詢的結果

7.6>關閉油表

7.7>關閉連線

7.8>在django中有一種工具幫助翻譯sql語句  -->orm(object relationship model)

優點:1>開發效率高

2>開發並不用直接寫sql語句

缺點:執行效率低

從物件導向的角度去看資料庫中的表,一張表就是乙個類,表中的每乙個字段就是乙個類中的屬性,每一行就是類例項化的乙個物件

9,django中orm的使用

9.1>運算元據表

9.2>運算元據行

10,使用

10.1>手動建立乙個資料庫:---->create database 資料庫名

10.2>告訴django連那個資料庫

databases =

}10.3>連線資料庫的方式

利用第三方的包,eg:pymysql和mysqldb,告訴django用pymysql模組代替預設的mysqldb去連線mysql資料庫和setting.py同級的__init__.py檔案,寫上:

import pymysql

pymysql.install_as_mysqldb()

類必須繼承models.model

10.5>兩個命令

10.5.1>python manage.py makemigrations --->找個本本把models.py的變更記錄一下

10.5.2>python manage.py migrate  -->把上面變更的記錄翻譯成sql語句,去資料庫中執行

11,orm查詢

類名(表名).object,filter(email="",pwd="")表的字段

11,登入函式的**

# views業務邏輯**

def login(request):

# 定義乙個全域性變數當第一次進來獲取頁面的時候,不顯示html變數的資訊

error_msg = ""

if request.method == "post":

# 1, 第二次進來的時候是post請求要獲取使用者輸入的使用者名稱和密碼

new_email = request.post.get("email")

new_pwd = request.post.get("pwd")

# 2, 從資料庫中讀取資料並校驗使用者輸入的是否合法

ret_obj = userinfo.objects.filter(email= new_email, pwd=new_pwd)

# 判斷匹配是否成功

ifret_obj: # 此時如果匹配成功,得到的是匹配的物件

# 如果匹配成功,就說明存在該使用者,讓使用者執行可執行得到操作頁面

return redirect("/index/") # 跳轉到index這個頁面,同**跳轉用絕對路徑

# 假如沒有匹配成功就要給用於提示頁面

error_msg = "郵箱或者密碼不正確 "# 3, 如果是第一次進來,使用者需要獲得乙個登入頁面,這時是乙個get請求

return render(request, "login.html", )

def index(reuest):

return render(request, "index.html", )

DJango的初識 ,什麼是Django?

什麼是django?django是乙個開放源 的web應用框架,由python寫成。採用了mtv的框架模式。python的web框架有django tornado flask 等多種,django相較與其他web框架其優勢為 大而全,框架本身整合了orm 模板引擎 快取 session等諸多功能。雖...

Django學習 一 初識Django

相對於python的其他web框架,django 的功能是最完整的,django 定義了服務發布 路由對映 模板程式設計 資料處理的一整套功能。這也意味著django模組之間緊密耦合,開發者需要學習django自已定義的這 整套技術。django的主要特點如下。django是遵循mvc架構的web開...

初識Django框架

開啟終端 輸入命令 django admin startproject demo 其中demo是專案名稱可以自定義 在manage.py同級目錄下開啟終端輸入命令啟動專案 python3 manage.py runserver 在瀏覽器中輸入本機ip 127.0.0.1 8000 linux系統下命...