Django框架封裝外部函數(shù)示例
本文實(shí)例講述了Django框架封裝外部函數(shù)。分享給大家供大家參考,具體如下:
需求:我們來(lái)模擬用戶登錄,驗(yàn)證是否輸入正確的用戶名和密碼
1.構(gòu)建登錄表單
<form method="post">
<p>用戶名:<input type="text" name="username"></p>
<p>密碼:<input type="password" name="pwd"></p>
<p><input type="submit" value="提交"></p>
<hr>
</form>
<p>
登錄狀態(tài)提示:{{ result }}
</p>
2.程序判斷
#coding:utf-8
from django.shortcuts import render,render_to_response
# Create your views here.
from django.http import HttpResponse
def hi(request):
msg = {'result':''}
if userLogin(request.POST.get('username'),request.POST.get('pwd')):
msg['result'] = '登錄成功'
else:
msg['result'] = '登錄失敗'
return render_to_response("index.html",msg)
#判斷用戶登錄函數(shù)
def userLogin(username,pwd):
if username == 'jack' and pwd == '123':
return True
else:
return False
驗(yàn)證如果輸入的用戶名為jack,密碼為123,就提示“登錄成功”
3.一個(gè)小意外
如果你提交上面的表單,會(huì)報(bào)如下錯(cuò)誤,這個(gè)是Django框架的驗(yàn)證機(jī)制

這是為了防止跨域攻擊,我們這里暫時(shí)不研究這個(gè)安全機(jī)制,來(lái)到settings.py文件注釋掉下面這行

這樣就不會(huì)報(bào)上面的那個(gè)錯(cuò)誤了。
如果用戶輸正確的用戶名和密碼(jack、123),模板上{{ result }} 就是提示“登錄成功”。
4.如何把userLogin函數(shù)寫到外部?
在views.py文件同級(jí)下新建user.py文件

然后在views.py里
先引入
import user
使用
user.userLogin()
完整的views.py代碼如下:
#coding:utf-8
from django.shortcuts import render,render_to_response
# Create your views here.
from django.http import HttpResponse
import user
def hi(request):
msg = {'result':''}
if user.userLogin(request.POST.get('username'),request.POST.get('pwd')):
msg['result'] = '登錄成功'
else:
msg['result'] = '登錄失敗'
return render_to_response("index.html",msg)
希望本文所述對(duì)大家基于Django框架的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python編程實(shí)現(xiàn)tail-n查看日志文件的方法
這篇文章主要介紹了Python編程實(shí)現(xiàn)tail-n查看日志文件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
PyCharm配置與更換鏡像源及安裝第三方庫(kù)的過(guò)程
這篇文章主要介紹了PyCharm配置與更換鏡像源及安裝第三方庫(kù)的過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01
pandas groupby + unstack的使用說(shuō)明
這篇文章主要介紹了pandas groupby + unstack的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
基于Python實(shí)現(xiàn)迪杰斯特拉和弗洛伊德算法
這篇文章主要為大家詳細(xì)介紹了基于Python實(shí)現(xiàn)迪杰斯特拉和弗洛伊德算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01
python pygame實(shí)現(xiàn)五子棋小游戲
這篇文章主要為大家詳細(xì)介紹了python pygame實(shí)現(xiàn)五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
這篇文章主要介紹了OpenCV2.3.1+Python2.7.3+Numpy等的配置解析,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01

