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 ...