最近學習了蟲師的發布會簽到系統demo,結合自己所學django知識,對demo重新塑造了一下。也是為了練練手,鞏固知識。現在就分享一下成果~
學習django web開發,先來簡單了解一下django的工作機制,請看下圖:
簡單說明:
使用者通過瀏覽器訪問:首先執行的是urlpatterns程式,通過url路由找到對應的檢視函式views.py,檢視函式處理所有邏輯和資料,並且將使用者要的資料經過函式處理後通過index.html返回給瀏覽器前的使用者看。
從使用者通過瀏覽器訪問→函式處理→資料展示,整個形成乙個閉關。
mvc是眾所周知的模式,即:將應用程式分解成三個組成部分:model(模型),view(檢視),和 controller(控制 器)。其中:
m——管理應用程式的狀態(通常儲存到資料庫中),並約束改變狀態的行為(或者叫做「業務規則」)。django也是乙個mvc框架。但是在django中,控制器接受使用者輸入的部分由框架自行處理(c交給使用者),所以 django 裡更關注的是模型(model)、模板(template)和檢視(views),稱為 mtv模式:c——接受外部使用者的操作,根據操作訪問模型獲取資料,並呼叫「檢視」顯示這些資料。控制器是將「模型」和「檢視」隔離,並成為二者之間的聯絡紐帶。
v——負責把資料格式化後呈現給使用者。
m 代表模型(model),即資料訪問層。 該層處理與資料相關的所有事務: 如何訪問、如何驗證有效性、包含哪些行為以及資料之間的關係等。後端**:v 代表檢視(view),即業務邏輯層。 該層包含訪問模型及調取恰當模板的相關邏輯。 你可以把它看作模型與模板之間的橋梁。
#登入邏輯處理函式def login_action(request):
if request.method == "post":
username = request.post.get('username','')
password = request.post.get('password','')
remember = request.post.get('remember','')
print(remember,111)
#if username == 'admin' and password == '123456':
#django認證登入
user = auth.authenticate(username=username,password=password)
# print("user:%s"%user)
if user is not none:
auth.login(request,user) #登陸
#response.set_cookie('user',username,3600) #新增瀏覽器cookie
request.session['user'] = username #寫入session 寫入瀏覽器,存入伺服器。
"""重定向,先post→get通過路由urls,找到event_manager函式,跳轉到找到event_manager.html頁面。
"""# 判斷是否記住使用者名稱
if remember == "on":
# 設定cookie username *過期時間為1周,按秒計算
response.set_cookie('username', username, max_age=7 * 24 * 3600)
return response
else:
# return render(request,'index.html',)
return redirect('/login/')
#登入顯示頁面前端**def login(request):
'''顯示登陸頁面'''
# 獲取cookie username
if 'username' in request.cookies:
username = request.cookies['username']
else:
username = ''
return render(request,'index.html',)
#首頁效果如下
後端**
#主頁效果如下def home(request):
return render(request,'home.html')
由於自身工作繁忙,後端**比較多點,不一一整理出來,如需學習,獲取原始碼方式:加下面圖中的qq群,或關注csdn部落格:
蘋果發布會的啟示
蘋果每次產品發布過程和產品不盡相同,但最終都會讓我有乙個感覺 我想擁有乙個 ipod iphone 或是ipad 我想讓我有這種感覺不僅僅是因為喬老爺子的名氣,而是蘋果產品研發到發布策劃到最終發布都從始至終想要表達的邏輯 這就是你想要的,這肯定能改變世界!雖然面對不同的市場環境,面對不同的客戶,但從...
蘋果發布會的啟示
蘋果每次產品發布過程和產品不盡相同,但最終都會讓我有乙個感覺 我想擁有乙個 ipod iphone 或是ipad 我想讓我有這種感覺不僅僅是因為喬老爺子的名氣,而是蘋果產品研發到發布策劃到最終發布都從始至終想要表達的邏輯 這就是你想要的,這肯定能改變世界!雖然面對不同的市場環境,面對不同的客戶,但從...
小小新聞發布會資料 小小新聞發布會
我們班今天上午第一節課開展了乙個非常有趣的小小新聞發布會。這樣有趣的新聞發布會活動真好啊 它不但讓我們增添了許多的知識,而且更懂得了許多的道理。真是非常有趣的一天!一進教室,我就看見黑板上寫著 小小新聞發布會 這幾個字。同學們為何又如此興奮呢?我問了幾個同學之後才恍然大悟,喔 原來這節課是要舉行新聞...