def regist(request): if request.method == "GET": return render(request, 'regist.html') elif request.method == "POST": username = request.POST.get('username') password = request.POST.get('password') email = request.POST.get('email') icon = request.FILES.get('icon') users = User.objects.filter(username=username) # print(users) # print(type(users)) if users.exists(): # return render(request, 'notice.html', context={ 'code': -1, 'msg': "用户名已存在", 'wait': 2, 'url': "/blog/regist" }) user = User() user.username = username user.password = make_pwd(password) user.email = email user.icon = icon user.resgist_time = datetime.today().strftime("%Y/%m/%d/%H/%M/%S") request.session["user_id"] = user.id request.session["user_name"] = user.username #生成token token = str(uuid.uuid4()) user.u_token = token user.save() # 发送邮箱内部的模板并且将token值和username传过去;将邮件发给表单传过来的用户邮箱。 subject, from_email, to = 'html', settings.EMAIL_FROM, email html_content = loader.get_template('activite.html').render({ 'username': username, 'u_token': token }) msg = EmailMultiAlternatives(subject, from_email=from_email, to=[to]) msg.attach_alternative(html_content, "text/html") msg.send() cache.set('token', token, timeout=1800) return render(request, 'notice.html', context={ 'code': 1, 'msg': "注册成功,请尽快去邮箱激活!", 'wait': 3, 'url': "/blog/index" })