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系統下命...