user-----url對應關係-------檢視函式def func1()--------------
函式給使用者返回的實質上就是乙個字串,過程:通過open函式開啟html,把html讀到記憶體中,然後把裡面的字串返回給使用者,如果裡面有特殊字元的話,會先處理。
views檢視可以看作是前端與資料庫的中間人,他會將前端想要的資料從資料庫中讀出來給前端。他也會將使用者要想儲存的資料寫到資料庫。
如下如下:
1.建立django工程圖示示範:可以一目了然,去**配置什麼。django-admin startproject 工程名
mysite
settings.py---主配置檔案
urls.py-------url路由檔案
wsgi.py-------網路通訊介面
templates-------html檔案的歸置目錄
cd 工程名
-migrations 資料操作記錄,是自動建立的。資料修改表結構
-__init__.py #在python3裡面可有可無都行
-__init__.py
-admin.py #django 為我們提供的後台管理。
-models.py #orm,寫指定的類,通過命令可以建立資料庫結構。
-tests.py #單元測試
-views.py #業務**。這個才是真正寫**的地方,上面的都是做配置的。
3.靜態檔案配置-在工程下面的setting中,即主配置檔案中進行配置,css,js等。
mysite.settings.py,配置如下:
staticfiles_dirs=(os.path.join(base_dir,'static'),) #因為是元組,一定要有逗號
4.模板路徑配置-在工程下面的setting中,即主配置檔案中進行配置,html等。
dirs==> [os.path.join(base_dir,'templates'),]
5.關閉django的跨站請求保護機制-在工程下面的setting中,即主配置檔案中進行配置
注釋掉:
#'django.middleware.csrf.csrfviewmiddleware'
6.定義路由規則-在工程下面的urls.py中,即url路由檔案中進行配置
urls.py
'login'--->函式名(只是對應乙個函式名,後面是不帶括號的)
def func(request): #request中包含客戶端發來的請求中的所有內容
#去請求裡面取資料
#request.method: get/post #獲取請求的方式
#request.get.get('',none) #獲取請求發來的資料
127.0.0.1:8000/home?nid=123&name=jack
#request.post.get('email',none)
通過檢視函式給使用者返回資料的3中方法
#return httpresponse('字串')
#return render(request,'html模板的路徑') 例如:test1/home.html
#return redirect('/只能填url',) 不能填html模板的路徑,只能填url
8.模板渲染
有一套特殊的模板語言
*****=}
1). def func(request):
return render(request,'index.html') #傳送給使用者的是靜態的資料
2). def func(request):
return render(request,'index.html',) #
index.html
}#}相當於取變數值
步驟:1>.使用者請求來了,首先到達檢視函式2>.檢視函式先去把模板拿過來,模板裡面有特殊標記,再把值與模板進行渲染,渲染完成之後就變成了字串。如下:***************=最後生成的字串,整體返回給使用者。特殊的標記是在什麼時候所做的替換?---檢視函式在返回資料的那一剎那之前做的。
所以咱們的瀏覽器拿到字串的時候,永遠是被渲染完畢的字串。
jack
*****=for迴圈
def func(request):
return render(request,'index.html',)
index.html
}#}相當於取變數值
*****=字典索引,注意字典與列表的取法不同,乙個用的是角標,乙個用的是key值。
def func(request):
return render(request,'index.html',})
index.html
}#}相當於取變數值
}}}*****=條件*****== if可以巢狀if迴圈,也可以巢狀到for迴圈裡面。
def func(request):
return render(request,'index.html',})
index.html
}#}相當於取變數值
}}}有年齡
老男人小鮮肉
沒年齡
索引的時候,用的都是點 xx.0,xx.1這樣來取元素的。
Django 教程 Django 模型
乙個django模組是內建的功能,django使用建立表,他們的田地,和各種約束。簡而言之,django models是與django一起使用的sql資料庫。sql 結構化查詢語言 很複雜,涉及許多不同的查詢,用於建立,刪除,更新或與資料庫有關的任何其他內容。django模型簡化了任務並將表組織到模...
Django教程 Django模板
如何向請求者返回乙個漂亮的頁面呢?肯定需要用到html css,如果想要更炫的效果還要加入js,問題來了,這麼一堆字串全都寫到檢視中,作為httpresponse 的引數嗎?先看看如何拼接html 圖書首頁 if request.method get res html books 射鵰英雄傳 神鵰俠...
Django 學習教程
init py 是當前目錄為工作目錄 urls.py根據此檔案呼叫對應的試圖方法,本質為url和試圖函式間的對映表,但是檢視函式必須在python的搜尋路徑上。settings.py 專案的配置檔案 manage.py 命令列工具,用於啟動伺服器。3啟動伺服器 python manage.py ru...