def sensor_detail(request, id): login_form = user_form.UserForm() if not request.session.get('is_login', None): message = '未登录,请登录!' return render(request, 'user_login.html', locals()) print(id) sensor = Sensor.objects.get(id=id, delete=0) print(sensor) return render(request, 'sensor_detail.html', locals())
def logout(request): """ 用户登出 :param request: :return: """ login_form = forms.UserForm() if not request.session.get('is_login', None): message = '未登录,请登录!' return render(request, 'user_login.html', locals()) request.session.flush() return render(request, 'user_logout.html', locals())
def info(request): """ 用户信息 :param request: :return: """ login_form = forms.UserForm() if not request.session.get('is_login', None): message = '未登录,请登录!' return render(request, 'user_login.html', locals()) current_user_id = request.session['user_id'] names = models.User.objects.get(id=current_user_id) return render(request, 'user_info.html', locals())
def add(request): # 判断是否登录 login_form = user_form.UserForm() if not request.session.get('is_login', None): message = '未登录,请登录!' return render(request, 'user_login.html', locals()) if request.method == "POST": add_form = sensor_from.SensorAddForm(request.POST) message = "请检查填写的内容!" if add_form.is_valid(): sensor_id = add_form.cleaned_data.get("sensor_id") sensor_name = add_form.cleaned_data.get("name") sensor_sort = add_form.cleaned_data.get("sort") sensor_location = add_form.cleaned_data.get("location") comment = add_form.cleaned_data.get("comment") # 参数校验 same_sensor_id = Sensor.objects.filter(sensor_id=sensor_id) if same_sensor_id: message = "传感器ID已存在" return render(request, 'sensor_add.html', locals()) same_sensor_name = Sensor.objects.filter(name=sensor_name) if same_sensor_name: message = "传感器名称已存在" return render(request, 'sensor_add.html', locals()) # 传感器id校验 res = re.match("^[A-Za-z0-9]+$", sensor_id) # 只能输入数字+字母ID if not res: message = "传感器ID格式错误" return render(request, 'sensor_add.html', locals()) # 传感器名称校验 res = re.match('^[0-9\u4e00-\u9fa5]*$', sensor_name) # 只能输入汉字+数字 if not res: message = "传感器名称格式错误" return render(request, 'sensor_add.html', locals()) new_sensor = Sensor() new_sensor.sensor_id = sensor_id new_sensor.name = sensor_name new_sensor.sort = sensor_sort new_sensor.location = sensor_location new_sensor.comment = comment new_sensor.create_time = datetime.datetime.now() new_sensor.save() message = "添加成功!" return redirect('/sensor_list/') else: message = "字段不能为空!" return render(request, 'sensor_add.html', locals()) else: add_form = sensor_from.SensorAddForm() return render(request, 'sensor_add.html', locals())
def login(request): """ 用户登录 :param request: :return: """ if request.method == 'POST': login_form = forms.UserForm(request.POST) message = '请检查填写的内容!' if request.session.get('is_login', None): message = '不能重复登录!' return render(request, 'user_login.html', locals()) if login_form.is_valid(): username = login_form.cleaned_data.get('username') password = login_form.cleaned_data.get('password') # 数据验证 try: user = models.User.objects.get(name=username, delete=0) except: message = '用户不存在!' return render(request, 'user_login.html', locals()) if user.password == hash_code(password): # session写入 request.session['is_login'] = True request.session['user_id'] = user.id request.session['user_name'] = user.name request.session['user_role'] = user.role models.User.objects.filter(name=username).update( last_login_time=timezone.now()) return redirect('/test/') else: message = '密码不正确!' return render(request, 'user_login.html', locals()) else: return render(request, 'user_login.html', locals()) login_form = forms.UserForm() return render(request, 'user_login.html', locals())
def register(request): """ 用户注册 :param request: :return: """ login_form = forms.UserForm() if not request.session.get('is_login', None): message = '未登录,请登录!' return render(request, 'user_login.html', locals()) if not request.session['user_role'] == 'admin': message = '无注册新用户权限,权限请使用管理员账号登录后注册!' return render(request, 'user_login.html', locals()) if request.method == 'POST': register_form = forms.RegisterForm(request.POST) message = "请检查填写的内容!" if register_form.is_valid(): username = register_form.cleaned_data.get('username') password1 = register_form.cleaned_data.get('password1') password2 = register_form.cleaned_data.get('password2') email = register_form.cleaned_data.get('email') phone_number = register_form.cleaned_data.get('phone_number') role = '普通用户' # 参数校验 res = re.match('^[a-zA-Z]\w{5,17}$', password1) if not res: message = '格式必须为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线!' return render(request, 'user_register.html', locals()) if password1 != password2: message = '两次输入的密码不同!' return render(request, 'user_register.html', locals()) else: same_name_user = models.User.objects.filter(name=username) if same_name_user: message = '用户名已经存在' return render(request, 'user_register.html', locals()) same_email_user = models.User.objects.filter(email=email) if same_email_user: message = '该邮箱已经被注册了!' return render(request, 'user_register.html', locals()) res = re.match('1[3|4|5|7|8][0-9]\d{8}', phone_number) if not res: message = '手机号格式错误!' return render(request, 'user_register.html', locals()) same_phone_number_user = models.User.objects.filter( phone_number=phone_number) if same_phone_number_user: message = '该电话号码已经被注册!' return render(request, 'user_register.html', locals()) # 执行事务 new_user = models.User() new_user.name = username new_user.password = hash_code(password1) new_user.email = email new_user.phone_number = phone_number new_user.role = role new_user.create_time = timezone.now() new_user.save() return redirect('/login/') else: return render(request, 'user_register.html', locals()) register_form = forms.RegisterForm() return render(request, 'user_register.html', locals())