用django 写了一个用户注册通过邮箱审核的代码。有点乱。哪位帮看看哪里还不对? 多谢

cndeer 2013-11-20 04:36:12
views.py:


##注册函数
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>



现在的问题是:

上面的代码现在还不能正确运行。能收到邮件。主要是上面的差不多是蒙着写的。思路不知道对不?

怎么样把那个激活码与那个用户绑定了? 我试过如果一个激活码对了。那它可以激活别的用户的。怎么样让激活码验证一次后就失效了?

上面的那用户注册通过邮箱审核的代码哪位朋友帮我改改看?

...全文
339 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cndeer 2013-11-26
  • 打赏
  • 举报
回复
已经解决了。 就是在models里建一个字段。用来存生成的激活码。然后在审核的时候拿出来验证一下。成功后就通过审核。并且删除激活码。谢谢各位
  • 打赏
  • 举报
回复
学习了 看不出错误 呵呵
  • 打赏
  • 举报
回复
你生成的激活码没有在数据库保存么 有个状态应该就很简单了吧
内容概要:本文介绍了基于MATLAB实现的PSO-KNN多特征分类预测项目,通过将粒子群优化算法(PSO)与K近邻算法(KNN)相结合,解决传统KNN在高维多特征数据分类中面临的参数敏感、特征冗余、分类精度低等问题。项目采用PSO对KNN的关键参数(如K值和特征权重)进行全局寻优,结合数据预处理、特征加权选择、适应度评估与并行化机制,构建了一个高效、自适应的智能分类模型。文中详细阐述了模型架构的各个层级,包括数据预处理、特征加权、参数寻优、粒子群协作策略及分类输出,并提供了部分MATLAB代码示例,涵盖主成分分析、粒子初始化、速度更新、交叉验证与结果可视化等关键步骤。; 适合人群:具备一定机器学习基础和MATLAB编程能力,从事数据分析、智能算法研究或工程应用的研发人员、高校研究生及科研工作者,尤其适合关注智能优化与分类预测融合应用的人员。; 使用场景及目标:①应用于医学诊断、金融风控、工业监测等需要高精度多特征分类的领域;②解决KNN算法在高维数据中的参数选择与特征权重优化难题;③提升分类模型的自动化程度与泛化能力,减少人工调参成本;④为智能算法集成与实际工程落地提供可复用的技术框架。; 阅读建议:此资源以实际项目为导向,结合理论与代码实现,建议读者在理解算法原理的基础上,运行并调试所提供的MATLAB代码,重点关注PSO寻优过程与KNN分类的耦合机制,同时可根据自身数据特点调整适应度函数与参数范围,实现模型迁移与优化。

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧