用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>



现在的问题是:

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

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

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

...全文
331 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cndeer 2013-11-26
  • 打赏
  • 举报
回复
已经解决了。 就是在models里建一个字段。用来存生成的激活码。然后在审核的时候拿出来验证一下。成功后就通过审核。并且删除激活码。谢谢各位
  • 打赏
  • 举报
回复
学习了 看不出错误 呵呵
  • 打赏
  • 举报
回复
你生成的激活码没有在数据库保存么 有个状态应该就很简单了吧
本资源为黑龙江省 2023 年水系分布数据,涵盖河流、沟渠、支流等线状要素,以及湖泊、水库、湿地等面状水体,提供完整的二维水文地理框架。数据以标准 GIS 格式发布,包含可编辑 MXD 工程文件、Shapefile 数据以及标准制图 TIF,适用于科研、规划设计、生态评估与地图制图等多类应用场景。 【数据内容】 1、水系线状要素(.shp) 包括主要河流、支流、人工渠道等 属性字段涵盖:名称、类别等 线要素拓扑规范,无断裂与悬挂节点 2、水体面状要素(.shp) 覆盖湖泊、水库、池塘、湿地等面状水体 属性包含:名称、类型等信息 几何边界经过平滑与精修,保证面积统计可靠 3、可编辑 MXD 工程文件(.mxd) 预设图层渲染、图例、比例尺、指北针与布局 支持用户根据自身制图需求快速调整样式、色带及标注规则 博主使用的 ArcMap 10.8 环境 4、标准成图 TIF(.tif) 专业级地图输出,含必要图廓与标注,可直接用于报告、论文与展示 输出分辨率高,适合印刷与电子稿应用 【数据技术说明】 坐标系统:WGS 84 地理坐标系 数据年份:2023 年 制作流程:基于卫星影像、水利普查数据和地理编码信息进行提取 → 几何校正 → 拓扑审查 → 分类整理 → 成图渲染 质量控制措施:保证线状与面状水体不重叠、不缺失;对水库与湖泊边界进行了人工校核,提高空间精度 【应用价值】 地表水资源调查与监测,水利、水文模型的空间输入,城市与农村规划中的水系布局分析,生态修复、水环境治理与湿地保护研究,教学、制图与地理信息可视化应用 【使用说明】 首次打开 MXD 文件前,请确保 Shapefile 和栅格文件均已解压至同一目录,以免出现路径丢失。

37,743

社区成员

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

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