{{ v.name }}
{{ v.cls }}类
{{ v.price }} ¥{{ v.price }}
settings.py
email_host="smtp.126.com"email_posrt=25email_host_user=""#邮箱名email_host_password=""#密码email_use_tls=falseemail_from=""#邮箱名
fromrandomimportrandom
defgenerate_random_str(randomlength=8):str=''chars='aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz0123456789'length=len(chars)-1random=random()foriinrange(randomlength):str+=chars[random.randint(0,length)]returnstr
fromxxx.settingsimportemail_from#导入smtp
fromusers.modelsimportemailverifyrecord#导入模型
fromdjango.core.mailimportsend_mail#导入发送邮件
defsend_register_email(email,send_type="register"):email_record=emailverifyrecord()#实例化random_str=generate_random_str(16)#取随机数email_record.code=random_stremail_record.email=emailemail_record.send_type=send_typeemail_record.save()ifsend_type=="register":email_title="注册激活链接"email_body="请点击下面的链接激活你的账号:http://127.0.0.1:8000/active/{0}".format(random_str)send_status=send_mail(email_title,email_body,email_from,[email])ifsend_status:passapp.views.py
fromutils.email_sendimportsend_register_email
from.formsimportloginform
classregisterview(view):defget(self,request):#访问returnrender(request,"register.html")defpost(self,request):#登陆register_form=registerform(request.post)ifregister_form.is_valid():#表单验证email=request.post.get("email","")
ifuserprofile.objects.filter(email=email):returnrender(request,"register.html",{"register_form":register_form,"msg":"用户已经存在"})pass_word=request.post.get("password","")user_profile=userprofile()#实例化用户数据库user_profile.username=emailuser_profile.email=emailuser_profile.is_active=false#邮箱验证状态user_profile.password=make_password(pass_word)#密码生成user_profile.save()#保存数据send_register_email(email,"register")#发送邮件returnrender(request,"login.html")else:returnrender(request,"register.html",{"register_form":register_form})
激活用户邮箱:.
app.views.py登陆视图
classloginview(view):defget(self,request):returnrender(request,"login.html",{})defpost(self,request):login_form=loginform(request.post)iflogin_form.is_valid():#验证表单填写信息是否有效user_name=request.post.get("username","")pass_word=request.post.get("password","")user=authenticate(username=user_name,password=pass_word)ifuserisnotnone:#判断是否匹配ifuser.is_active:#判断用户是否已激活login(request,user)#登陆returnrender(request,"index.html")else:returnrender(request,"login.html",{"msg":"邮箱未激活"})#未激活提示else:returnrender(request,"login.html",{"msg":"用户名或密码错误"})#错误提示else:returnrender(request,"login.html",{"login_form":login_form})#表单提示
#激活用户邮箱classactiveuserview(view):defget(self,request,active_code):all_records=emailverifyrecord.objects.filter(code=active_code)ifall_records:forrecordinall_records:email=record.emailuser=userprofile.objects.get(email=email)user.is_active=trueuser.save()returnhttpresponse("theparamis:"+active_code)