專案 使用者註冊

2021-10-04 10:34:06 字數 3191 閱讀 7747

js部分

let $register = $('.form-contain');  // 獲取登錄檔單元素

$register.submit(function (e)

// 判斷手機號是否為空,是否已註冊

if (fn_check_mobile() !== "success")

// 判斷使用者輸入的密碼是否為空

if ((!spassword) || (!spasswordrepeat))

// 判斷使用者輸入的密碼和確認密碼長度是否為6-20位

if ((spassword.length < 6 || spassword.length > 20) ||

(spasswordrepeat.length < 6 || spasswordrepeat.length > 20))

// 判斷使用者輸入的密碼和確認密碼是否一致

if (spassword !== spasswordrepeat)

// 發起註冊請求

// 1、建立請求引數

let sdataparams = ;

// 2、建立ajax請求

$.ajax()

.done(function (res) , 1500)

} else

}).fail(function());

});

form表單進行資料的清洗
from django import forms

import re

from django.contrib.auth import login

from django.db.models import q

#定義乙個註冊的表單

class registerform(forms.form):

#使用者名稱,格式必須和前面的js的請求引數一致

username = forms.charfield(label='使用者名稱', max_length=20, min_length=5,

error_messages=

)#密碼

password = forms.charfield(label='密碼', max_length=20, min_length=6,

error_messages=

)#再次輸入密碼

password_repeat = forms.charfield(label='確認密碼', max_length=20, min_length=6,

error_messages=

)#手機號

mobile = forms.charfield(label='手機號', max_length=11, min_length=11,

error_messages=)

#判斷使用者名稱和手機號是否已經註冊

def clean_mo_un(self):

users = self.cleaned_data.get('username')

tel = self.cleaned_data.get('mobile')

if users.objects.filter(username=users,mobile=tel).exists():

#如果已註冊則丟擲錯誤

raise forms.validationerror("使用者名稱或手機號已註冊,請重新輸入!")

#沒有註冊的話則返回使用者名稱和手機號

return users,tel

def clean(self):

""""""

#j繼承原有的clean方法

cleaned_data = super().clean()

#獲取密碼和第二次密碼

passwd = cleaned_data.get('password')

passwd_repeat = cleaned_data.get('password_repeat')

if passwd != passwd_repeat:

raise forms.validationerror("兩次密碼不一致")

tel = cleaned_data.get('mobile')

檢視函式
#寫乙個註冊的類檢視

class registerview(view):

def get(self,request):

return render(request,'users/register.html')

def post(self,request):

#獲取js傳過來的輸入

json_str = request.body

#判斷傳過來的資料是否有誤

if not json_str:

return to_json_data(errno=code.paramerr,errmsg='輸入的資料有誤')

#將傳過來的資料轉換成字典的格式

data_dict = json.loads(json_str.decode('utf8'))

#將字典格式的資料進行資料的清洗

form = forms.registerform(data=data_dict)

#判斷傳過去的資料是否合理

if form.is_valid():

username = form.cleaned_data.get('username')

password = form.cleaned_data.get('password')

mobile = form.cleaned_data.get('mobile')

#將資料儲存到資料庫

user = users.objects.create_user(username=username,password=password,mobile=mobile)

#登入login(request,user)

return to_json_data(errmsg='恭喜您註冊成功')

#如果資料清洗不通過,將錯誤輸出

else:

err_msg_list =

for item in form.errors.get_json_data().values():

err_msg_str = '/'.join(err_msg_list) # 拼接錯誤資訊為乙個字串

return to_json_data(errno=code.paramerr, errmsg=err_msg_str)

(生鮮專案)18 使用者手機號註冊

第一步 前期分析 可見,前端會post過來三個字段,所以這裡我們應該使用mixins.createmodelmixin 由於我們自定義的userprofile中只有name是必填字段 注意 django自帶的user中username是必填字段 所以我們可以在serializers.py中使用ser...

django 使用者註冊

建立users子應用 處理使用者事務 在settings中用 print sys.path 檢視現有導包路徑 sys.path.insert 0,但是這樣過於low 換成下面這樣 sys.path.insert 0,os.path.join base dir,這樣就可以簡化導包方式 django自帶...

flask專案1實戰 2 使用者註冊 待完善

根據居然老師直播課內容整理 詳見 flask專案1實戰 2.2 flask框架下使用驗證碼 選項方案 請求方法 post 請求位址 users 引數名型別 是否必傳 說明password string是密碼 password2 string 是確認密碼 mobile string 是手機號 sms ...