用django 写了一个用户注册通过邮箱审核的代码。有点乱。哪位帮看看哪里还不对? 多谢
views.py:
urls.py:
send_email.html:
现在的问题是:
上面的代码现在还不能正确运行。能收到邮件。主要是上面的差不多是蒙着写的。思路不知道对不?
怎么样把那个激活码与那个用户绑定了? 我试过如果一个激活码对了。那它可以激活别的用户的。怎么样让激活码验证一次后就失效了?
上面的那用户注册通过邮箱审核的代码哪位朋友帮我改改看?
##注册函数
def vip_reg(request):
if request.method == 'POST':
form = Reg_Form(request.POST, request.FILES)
if form.is_valid():
user = User.objects.create_user(
username = form.cleaned_data['username'],
password = form.cleaned_data['password1'],
email = form.cleaned_data['email'],
sex = form.cleaned_data['sex'],
addr_zz = form.cleaned_data['addr_zz'],
ahjs = form.cleaned_data['ahjs'],
)
user.is_active = False
user.save()
send_email(user)
###在这里发送信件。用邮箱验证审核?让 is_active=True
return HttpResponseRedirect('/vip/reg/ok/')
else:
return HttpResponse(u'注册用户时发生错误,请返回修改后重新注册!')
else:
form = Reg_Form()
variables = RequestContext(request, {'form':form})
return render_to_response('registration/register.html', variables)
def send_email(user):
email = user.email
if isinstance(email, unicode):
email = email.encode('utf-8')
#email_code = uuid.uuid5(uuid.NAMESPACE_DNS, email+str(time.time())).hex
html_content = render_to_string('send_email.html', {'email_code':active_code(email), 'user':user, 'pk':user.id })
subject, form_email, to = u'您注册了网站', 'gaoqing2018_com@163.com', email
text_content = 'aaaaaa123'
msg = EmailMultiAlternatives(subject, text_content, form_email, [to])
msg.attach_alternative(html_content, 'text/html')
msg.send()
return HttpResponse(u'请查看你注册的信箱完成注册!!')
def reguseryz(request, pk, email_code):
#pk = int(pk)
try:
pk = int(pk)
user = User.objects.get(id=pk)
except (User.DoesNotExist,ValueError):
return render_to_response('ok.html')
if user.is_active:
return HttpResponseRedirect('/accounts/login/')
elif email_code == active_code(user.email):
user.is_active = True
user.save()
return render_to_response('ok.html')
def active_code(email):
"""
激活码
"""
email_code = uuid.uuid5(uuid.NAMESPACE_DNS, email+str(time.time())).hex
return email_code
urls.py:
url(r'^vip/reg/ok/$', 'vipbbs.views.reg_ok'),
url(r'^vip/reguser/(?P<pk>\d+)/(\w+)/$', 'vipbbs.views.reguseryz'),
url(r'^accounts/login/$', 'django.contrib.auth.views.login'),
send_email.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<body>
Hello,欢迎来到zb.com!
或者复制下面的链接到浏览器
http://127.0.0.1:8000/vip/reguser/{{pk}}/{{email_code}}
</body>
</html>
现在的问题是:
上面的代码现在还不能正确运行。能收到邮件。主要是上面的差不多是蒙着写的。思路不知道对不?
怎么样把那个激活码与那个用户绑定了? 我试过如果一个激活码对了。那它可以激活别的用户的。怎么样让激活码验证一次后就失效了?
上面的那用户注册通过邮箱审核的代码哪位朋友帮我改改看?
...全文
相关推荐
Python通过Django实现用户注册和邮箱验证功能代码
主要介绍了Python通过Django实现用户注册和邮箱验证功能代码,具有一定借鉴价值,需要的朋友可以参考下。
django 框架实现的用户注册、登录、退出功能示例
主要介绍了django 框架实现的用户注册、登录、退出功能,结合实例形式详细分析了Django框架用户注册、登陆、退出等功能具体实现方法及操作注意事项,需要的朋友可以参考下
在Django中进行用户注册和邮箱验证的方法
主要介绍了在Django中进行用户注册和邮箱验证的方法的相关资料,需要的朋友可以参考下
django 通过ajax完成邮箱用户注册、激活账号的方法
一、图片验证码 django-simple-captcha配置 1.在pycharm中,File====》Settings====》Project:项目名====》Project Interpreter====》+====》搜django-simple-captcha 选择0.55以上版本,然后点install package 按钮进行安装 2.项目名/urls.py中添加代码: from django.urls import path,include ...... from users.views import IndexView ...... urlpatterns = [ ...
Django小白教程之Django用户注册与登录
主要介绍了Django小白教程之Django用户注册与登录的相关资料,需要的朋友可以参考下


