Django1.7+JQuery+Ajax驗(yàn)證用戶注冊(cè)集成小例子
Ajax的出現(xiàn)讓W(xué)eb展現(xiàn)了更新的活力,基本所有的語(yǔ)言,都動(dòng)態(tài)支持Ajax與起服務(wù)端進(jìn)行通信,并在頁(yè)面實(shí)現(xiàn)無(wú)刷新動(dòng)態(tài)交互。 下面是散仙使用Django+Jquery+Ajax的方式來(lái)模擬實(shí)現(xiàn)了一個(gè)驗(yàn)證用戶注冊(cè)時(shí),用戶名存在不存在的一個(gè)小應(yīng)用。注意,驗(yàn)證存在不存在使用的是Ajax的方式,不用讓用戶點(diǎn)擊按鈕驗(yàn)證是否存在。 截圖如下:
頁(yè)面HTML代碼如下:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>Ajax驗(yàn)證測(cè)試</title> </head> <script src="/static/jquery/jquery211.js"></script> <script> $(function(){ $("#pu").bind('keydown',function(){ c=$("#pu").val() $.ajax({ type:"POST", url:"/ccc/", data:{name:c}, dataType:"json", success: function(data) { $("#p").text(data.msg) } }); }) }) </script> <body> 輸入名字進(jìn)行校驗(yàn):<input id="pu"type="text"> <span id="p"style="color: red"></span> </body> </html>
view端的代碼,注意csrf的裝飾方法,針對(duì)post請(qǐng)求:
from django.shortcuts import render from django.http.response import HttpResponse # Create your views here. from django.shortcuts import render_to_response #導(dǎo)入render_to_response from django.shortcuts import render_to_response #導(dǎo)入包裝的csrf請(qǐng)求,對(duì)跨站攻擊腳本做處理 from django.views.decorators.csrf import csrf_exempt import json def tt(request): return render_to_response('em/add.html') names=list(); names.append("zhangsa") names.append("aa") names.append("b") names.append("c") @csrf_exempt def ccc(request): name=request.POST.get("name",None) rtxt=""; if name is not None: b=name in names if b: #print("名字已經(jīng)存在!",name) rtxt="名字已經(jīng)存在!" else: print("名字不存在!") rtxt="名字不存在!" #print("獲取的名字是:NU",name) return HttpResponse(json.dumps({"msg":rtxt}))
urls里面的代碼:
#ajax校驗(yàn) url(r'^ccc/$',ccc),
注意里面用到了json.dumps函數(shù)來(lái)生成json對(duì)象,注意詞典的形式,在測(cè)試之前,最后,先訪問一下看看,json數(shù)據(jù)是否能拿到.
ajax驗(yàn)證沒有問題之后,我們就可以在前端進(jìn)行了,測(cè)試效果就是散仙開頭所截圖,本文的重點(diǎn)在于驗(yàn)證ajax的功能調(diào)用,所以并沒有直接從數(shù)據(jù)庫(kù)里面獲取數(shù)據(jù)進(jìn)行驗(yàn)證,而是使用了list集合,進(jìn)行了數(shù)據(jù)的模擬,如果想做的更完美一點(diǎn),可以把數(shù)據(jù)庫(kù)部分實(shí)現(xiàn),這樣就與真實(shí)中的網(wǎng)站驗(yàn)證場(chǎng)景就一樣了。
- Django小白教程之Django用戶注冊(cè)與登錄
- 在Django中進(jìn)行用戶注冊(cè)和郵箱驗(yàn)證的方法
- Python通過Django實(shí)現(xiàn)用戶注冊(cè)和郵箱驗(yàn)證功能代碼
- django用戶注冊(cè)、登錄、注銷和用戶擴(kuò)展的示例
- django 通過ajax完成郵箱用戶注冊(cè)、激活賬號(hào)的方法
- django實(shí)現(xiàn)用戶注冊(cè)實(shí)例講解
- 詳解Django框架中用戶的登錄和退出的實(shí)現(xiàn)
- 在Django中限制已登錄用戶的訪問的方法
- Django實(shí)戰(zhàn)之用戶認(rèn)證(用戶登錄與注銷)
- Django利用cookie保存用戶登錄信息的簡(jiǎn)單實(shí)現(xiàn)方法
- django 框架實(shí)現(xiàn)的用戶注冊(cè)、登錄、退出功能示例
相關(guān)文章
JS正則表達(dá)式驗(yàn)證賬號(hào)、手機(jī)號(hào)、電話和郵箱是否合法
這篇文章主要介紹了JS正則表達(dá)式驗(yàn)證賬號(hào)、手機(jī)號(hào)、電話和郵箱是否合法,需要的朋友可以參考下2017-03-03JS實(shí)現(xiàn)點(diǎn)擊按鈕獲取頁(yè)面高度的方法
這篇文章主要介紹了JS實(shí)現(xiàn)點(diǎn)擊按鈕獲取頁(yè)面高度的方法,涉及JavaScript針對(duì)頁(yè)面元素高度的各種常見運(yùn)算,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11js實(shí)現(xiàn)GridView單選效果自動(dòng)設(shè)置交替行、選中行、鼠標(biāo)移動(dòng)行背景色
使用js實(shí)現(xiàn)GridView單選效果自動(dòng)設(shè)置交替行、選中行、鼠標(biāo)移動(dòng)行背景色2010-05-05在WordPress中加入Google搜索功能的簡(jiǎn)單步驟講解
這篇文章主要介紹了在WordPress中加入Google搜索的簡(jiǎn)單步驟講解,谷歌搜索很有用,但同時(shí)也要注意在國(guó)內(nèi)使用cse的連通性,需要的朋友可以參考下2016-01-01基于JavaScript實(shí)現(xiàn)表單密碼的隱藏和顯示出來(lái)
為了網(wǎng)站的安全性,很多朋友都把密碼設(shè)的比較復(fù)雜,但是如何密碼不能明顯示,不知道輸?shù)氖菍?duì)是錯(cuò),為了安全起見可以把密碼顯示的,那么基于js代碼如何實(shí)現(xiàn)的呢?下面通過本文給大家介紹JavaScript實(shí)現(xiàn)表單密碼的隱藏和顯示,需要的朋友參考下2016-03-03javascript 廣告后加載,加載完頁(yè)面再加載廣告
網(wǎng)頁(yè)打開的順序都是按頁(yè)面從上到下的順序加載完成的,所以要想使廣告不影響頁(yè)面打開速度,就要等頁(yè)面全部打開完成后,再加載JS代碼。2010-11-11Echart結(jié)合圓形實(shí)現(xiàn)儀表盤的繪制詳解
EChart開源來(lái)自百度商業(yè)前端數(shù)據(jù)可視化團(tuán)隊(duì),基于html5?Canvas,是一個(gè)純Javascript圖表庫(kù),提供直觀,生動(dòng),可交互,可個(gè)性化定制的數(shù)據(jù)可視化圖表。本文將利用EChart實(shí)現(xiàn)儀表盤的繪制,感興趣的可以學(xué)習(xí)一下2022-03-03