一,本周工作
1,支援后端完成登录与注册工作,为此去学习了一下后端的结构
我们需要在urls文件配置路由:
在views文件写增删改查:
2,具体代码
@require_http_methods(["POST"])
def login(request):
print("接收到login请求")
response = {}
jsonData = json.loads(request.body)
if jsonData["label"] == 0:
print(jsonData)
resultSet = UserInfo.objects.filter(account=jsonData["account"], password=jsonData["password"])
elif jsonData["label"] == 1:
resultSet = UserInfo.objects.filter(tele=jsonData["account"], password=jsonData["password"])
if len(resultSet) > 0:
response['result'] = "登录成功"
response['label'] = True
return JsonResponse(response)
else:
response['result'] = "账号或密码错误,请重新输入"
response['label'] = False
return JsonResponse(response)
@require_http_methods(["POST"])
def register(request):
print("接收到register请求")
response = {}
jsonData = json.loads(request.body)
resultSet = UserInfo.objects.filter(tele=jsonData["tele"])
if len(resultSet) > 0:
print("该电话号码已经注册过!") # 返回给前端
response["info"] = "该电话号码已经注册过"
response["label"] = False
return JsonResponse(response)
else:
user_info = UserInfo()
t = int(time.time())
t = str(t)
t = t[:4]
user_info.account = t + str(random.randint(1000, 9999))
user_info.tele = jsonData["tele"]
user_info.password = jsonData["password"]
user_info.save()
response["info"] = "注册成功"
response["label"] = True
response["account"] = user_info.account
return JsonResponse(response)
三,遇到的问题
1,对于下载的项目,不能直接在命令行输入指令来生成包含数据库访问方法的models文件,因为直接下载的包缺乏结构性文件,直接命令行运行会导致项目无法找到自己写的包。解决办法是建立一个新的项目,获取Models再拷贝回来,操作如下:
生成models文件
然后把文件右下角,UTF-16,改成UTF-8
2,需要配置server才能运行项目,具体配置方法如下:
1,在setting中,按如下
2,新建一个Django Server,如下就行
3,
3,遇到错误
报错:Forbidden (CSRF cookie not set.): /register/ [08/May/2022 15:17:53] "POST /register/ HTTP/1.1" 403 2
应对:
修改方式:
1,INSTALLED_APPS中rear_core要写成绝对路径
2,在views中引用models的时候用.models相对路径
四,针对聚合端方面的努力
我们测试了numpy,不行,因为模型是字典,一种用c语言实现的socket,不行,仍然不够快!
二,下周目标
与前端同学交流,看是否需要优化登录注册功能