前端vue给后端django传递参数的方式
前端给后端传递一个手机号或者其他的字段名
1.动态参数
前端:http://127.0.0.1:8000/地址/动态参数手机号或者其他的字段名
后端:path('地址/<str:手机号或者其他字段名>/', 视图)
2.GET参数(查询字符串query)
前端:http://127.0.0.1:8000/地址/?mobile=手机号
后端:在视图中,mobile = request.query_params.get('mobile')
3.POST参数(请求体参数body)
前端:发送axios请求时:
axios.post('地址',{mobile:手机号})
axios.put('地址',{mobile:手机号})
axios.get('地址',{data:{mobile:手机号}})
axios.delete('地址',{data:{mobile:手机号}})
后端:在视图中, mobile = request.data.get('mobile')
正则表达式
if not re.findall(r'^1[3-9]\d{9}$', mobile):
# 匹配不到手机号
if re.findall(r'^1[3-9]\d{9}$', mobile):
# 匹配到手机号
模型类查询
filter和get的区别:
1.filter得到的结果是一个查询结果集(简单理解为一个列表),get得到的结果是一个对象。
2.filter可以得到0个、1个或多个结果,但get只能得到1个对象,少了0个或多了2个以上都会报错。
3.filter结果的使用:studet1[0].id, get结果的使用:studet2.id
4.filter序列化数据需要循环,get不需要循环。