def main(): login = models.Login() login.login = "******" login.password = "******" login.save() desc = models.Description() desc.isbn = 1 desc.name = "UML" desc.author = "Larman" desc.save() desc2 = models.Description() desc2.isbn = 2 desc2.name = "Design Patterns" desc2.author = "GoF" desc2.save() book1 = models.Book() book1.description = desc book1.collection_id = 1 book1.status = True book1.save() book2 = models.Book() book2.description = desc book2.collection_id = 2 book2.status = True book2.save() book3 = models.Book() book3.description = desc2 book3.collection_id = 3 book3.status = True book3.save() user = models.User() user.rb = 1 user.name = 'Arthur' user.email = 'arthurmde' user.save() user2 = models.User() user2.rb = 2 user2.name = 'Matheus' user2.email = 'matheus' user2.save()
def register(request): if request.method == 'GET': return render(request, 'user/register.html', {'msg': '请输入信息'}) else: name = request.POST['name'].strip() password = request.POST['pwd'].strip() confirm = request.POST['confirm'].strip() code = request.POST['code'].strip() if name == '': return render(request, 'user/register.html', {'msg': '用户名不能为空!'}) if len(password) < 4: return render(request, 'user/register.html', {'msg': '密码小于四位'}) if password != confirm: return render(request, 'user/register.html', {'msg': '两次密码不一致!'}) if request.session['code'].upper() != code.upper(): return render(request, 'user/register.html', {'msg': '验证码错误'}) try: # 判断用户名是否已注册 get 查找到0或多条都会报错 models.User.objects.get(name=name) return render(request, 'user/register.html', {'msg': '用户名已存在'}) except: pwd = hash_256(password) # 这种方式每次加密结果不同 # pwd=make_password(password,None,'pbkdf2_sha256') users = models.User(name=name, pwd=pwd) users.save() # 跳转到登录页面 # return redirect(reverse('user:login',kwargs={'msg':'注册成功,请登录!!'})) return redirect(reverse('user:login'))
def reg_email(request): if request.method == "GET": return render(request, "user/register.html", {}) else: email = request.POST["email"].strip() password = request.POST.get("pwd").strip() confirmpwd = request.POST.get("confirm").strip() # 数据校验 if len(email) < 1: return render(request, "user/register.html", {"msg": "用户邮箱为空!!"}) if len(password) < 4: return render(request, "user/register.html", {"msg": "长度小于 4 位!!"}) if password != confirmpwd: return render(request, "user/register.html", {"msg": "两次密码不一致!!"}) try: user = models.User.objects.get(name=email) return render(request, "user/register.html", {"msg": "名称已经存在"}) except: password = utils.hash_256(password) user = models.User(name=email, pwd=password, nickname=email, email=email) try: user.save() try: # 保存成功,发送邮件 m_title = "wqx测试电商账号激活邮件" m_msg = "点击激活您的账号" # 调用 JWT 来加密和解密需要的数据 serializer = Serializer(settings.SECRET_KEY, expires_in=3600) code = serializer.dumps({"confirm": user.id}).decode("utf-8") href = "http://ww.ljh.com/blog/active/" + code + "/" m_html = '<a href="' + href + '" target="_blank">马上点击激活,一个小时内有效</a>' send_mail(m_title, m_msg, settings.EMAIL_FROM, [email], html_message=m_html) return render(request, "user/login.html", {"msg": "恭喜您,注册成功,请登录邮箱激活账号!!"}) except Exception as e: print(e,111111111111111) return render(request, "user/login.html", {"msg": "恭喜您,注册成功,邮箱发送失败,请点击重新发送"}) except Exception as e: return render(request, "user/register.html", {"msg": "注册失败,请重新注册,或者联系管理员"})
def register(request): if request.session.get('is_login', None): # 登录状态不允许注册。你可以修改这条原则! return redirect("/index/") if request.method == "POST": register_form = forms.RegisterForm(request.POST) message = "请检查填写的内容!" if register_form.is_valid(): # 获取数据 username = register_form.cleaned_data['username'] password1 = register_form.cleaned_data['password1'] password2 = register_form.cleaned_data['password2'] email = register_form.cleaned_data['email'] sex = register_form.cleaned_data['sex'] if password1 != password2: # 判断两次密码是否相同 message = "两次输入的密码不同!" return render(request, 'login/register.html', locals()) else: same_name_user = models.User.objects.filter(name=username) if same_name_user: # 用户名唯一 message = '用户已经存在,请重新选择用户名!' return render(request, 'login/register.html', locals()) same_email_user = models.User.objects.filter(email=email) if same_email_user: # 邮箱地址唯一 message = '该邮箱地址已被注册,请使用别的邮箱!' return render(request, 'login/register.html', locals()) # 当一切都OK的情况下,创建新用户 new_user = models.User() new_user.name = username new_user.password = password1 new_user.email = email new_user.sex = sex new_user.save() return redirect('/login/') # 自动跳转到登录页面 register_form = forms.RegisterForm() return render(request, 'login/register.html', locals())
class UserPreference(models.Model): user = models.User() confirm_mark_done = models.BooleanField(default=True) confirm_mark_undone = models.BooleanField(default=True)