def get(self, request): return render(request, 'patientlogin.html') def post(self, request): phone = request.POST.get('phone', '') password = request.POST.get('password', '') patient_list = Patient.objects.filter(phone=phone, password=password) if patient_list: request.session['patient'] = patient_list[0] return HttpResponseRedirect("/patientcenter/") return HttpResponse("登录有问题")
时间: 2023-12-27 22:03:04 浏览: 55
这段代码是一个 Django 的视图函数,用于处理患者登录的逻辑。首先,当用户通过 GET 请求访问该视图时,它会返回一个患者登录页面。当用户通过 POST 请求提交表单时,它会从表单中获取手机号和密码,并从数据库中查找与这些信息匹配的患者。如果找到了一个匹配项,它将在会话中设置一个名为“patient”的键,并将其值设置为该患者对象。然后,它将重定向到患者中心页面。如果没有找到匹配项,它将返回一个错误消息。
相关问题
def get(self, request): return render(request, 'patientregister.html') def post(self, request): # 只能注册患者账号 医生账号只能由管理员添加 phone = request.POST.get('phone', '') patientlist = Patient.objects.filter(phone=phone) if patientlist: return render(request, 'patientregister.html', {"err": 1, "tips": "*该号码已经被注册"}) else: password = request.POST.get('password', '') name = request.POST.get('name', '') sex = request.POST.get('sex', '') age = request.POST.get('age', '') patient = Patient.objects.create(phone=phone, password=password, name=name, sex=sex, age=age) if patient: return HttpResponseRedirect("/patientlogin/") return HttpResponseRedirect("/patientregister/")
这是一个 Django 的视图类,该类处理了患者注册的 GET 和 POST 请求。这里使用了 Django 自带的 render 函数渲染了一个 HTML 模板,在 GET 请求中返回给用户一个患者注册页面。在 POST 请求中,首先获取用户提交的手机号码,然后通过该手机号码查询数据库中是否已经存在该用户,如果存在,返回错误提示信息。如果不存在,接着获取用户提交的密码、姓名、性别和年龄等信息,然后创建一个新的 Patient 对象,并将用户提交的信息存储到该对象中。最后,将该对象保存到数据库中,并重定向到患者登录页面或者注册页面。
阅读全文