1.django新增檢查使用者名稱和手機號數量介面
1.1 在user/urls.py
中新增
urlpatterns = [
path('count/', views.RegCountView.as_view()),
]
1.2 在user/views.py
中新增檢視函式
class RegCountView(APIView):
permission_classes = (AllowAny,)
def post(self, request):
datatype = request.data.get('type')
data = request.data.get('data')
if not all([data, datatype]):
return Response({'code': 999, 'msg': '引數不完整'})
if datatype == 'username':
count = User.objects.filter(username=data).count()
if datatype == 'phone':
count = User.objects.filter(phone=data).count()
return Response({'code': 0, 'msg': '查詢成功', 'data': {'type': datatype, 'count': count}})
2.測試介面
2.1測試介面URL
http://192.168.56.100:8888/user/count/
2.2演示結果
3.vue檢查使用者名稱,手機號是否重複
3.1vue檢查使用者名稱是否重複
- 前端函式如下,js方法程式碼無需更改,前端程式碼邏輯在
components\common\lab_header.vue
- 只需要修改
components\axios_api\http.js
中呼叫的後端地址
axios.defaults.baseURL = "http://192.168.56.100:8888/"
check_username() {
console.log('判斷使用者名稱')
console.log(this.username == '')
var reg = new RegExp(/^[a-zA-Z0-9_-]{3,16}$/);
if (this.username == '') {
this.username_message = '使用者名稱不能為空'
this.username_error = true
return false
}
if (!reg.test(this.username)) {
this.username_message = '使用者名稱格式不正確'
this.username_error = true
return false
} else {
user_count({ type: 'username', data: this.username }).then((res) => {
console.log(res)
if (res.data.count > 0) {
this.username_message = '使用者名稱已存在'
this.username_error = true
} else {
this.username_message = ''
this.username_error = false
}
})
}
},
3.2vue檢查手機號是否重複
check_phone() {
console.log('檢查手機號')
var reg = new RegExp(/^[1]([3-9])[0-9]{9}$/)
if (this.phone == '') {
this.phone_message = '手機號不能為空'
this.phone_error = true
}
if (!reg.test(this.phone)) {
this.phone_message = '手機號格式不正確'
this.phone_error = true
return false
} else {
user_count({ type: 'phone', data: this.phone }).then((res) => {
console.log(res)
if (res.data.count > 0) {
this.phone_message = '手機號已存在'
this.phone_error = true
} else {
this.phone_message = ''
this.phone_error = false
}
})
}
},