当前位置: 首页 > wzjs >正文

网站建设微信商城多少钱做网站送400电话

网站建设微信商城多少钱,做网站送400电话,网站整合方案,做深度的互联网站目录 1. 注册页面的渲染 2.邮箱的注册验证 3.登录页面的渲染 1. 注册页面的渲染 使用render_template来渲染,注意这里的前端网页使用jinja2模板 详情大家可以参考jinja2介绍 注意每个网页上方都有导航条,大家可以使用jinja2的继承功能,写一…

目录

1. 注册页面的渲染

2.邮箱的注册验证

3.登录页面的渲染

1. 注册页面的渲染

使用render_template来渲染,注意这里的前端网页使用jinja2模板

详情大家可以参考jinja2介绍

注意每个网页上方都有导航条,大家可以使用jinja2的继承功能,写一个base.html,其他网页都可以继承这个网页,在其上面扩展

2.邮箱的注册验证

使用falsk-mail库完成

制作一个邮箱服务器,我们这里使用QQ邮箱

在config.py中完成配置即可

再创建一个邮箱的模板,进行数据库交互

验证前端输入的邮箱密码是否输入正确,增加一个forms.py

import wtforms
from wtforms.validators import Email, Length, EqualTo, InputRequiredfrom exts import db
from models import UserModel, EmailCaptchaModel# Form :主要验证用来验证前端提交的数据是否符合要求
class RegisterForm(wtforms.Form):email = wtforms.StringField(validators=[Email(message="邮箱格式错误!")])captcha = wtforms.StringField(validators=[Length(max=4, min=4, message="验证码格式错误")])username = wtforms.StringField(validators=[Length(min=3, max=20, message="用户格式错误")])password = wtforms.StringField(validators=[Length(min=6, max=20, message="密码格式错误")])password_confirm = wtforms.StringField(validators=[EqualTo("password", message="两次密码不一致")])# 自定义验证# 1、 邮箱是否被注册def validate_email(self, field):email = field.datauser = UserModel.query.filter_by(email=email).first()if user:raise wtforms.ValidationError(message="该邮箱已经被注册!")# 2、 验证码是否正确def validate_captcha(self, field):captcha = field.dataemail = self.email.datafilters = {'email': email, 'captcha': captcha}captcha_model = EmailCaptchaModel.query.filter_by(**filters).first()# print(email,captcha,captcha_model.email)if not captcha_model:raise wtforms.ValidationError(message="邮箱或者验证码错误")# tode 可以删除 captcha_modelelse:# 使用完毕可以删除 或者 定义是否使用  # False是0,true是1# db.session.delete(captcha_model)# db.session.commit()captcha_model.used = 1db.session.commit()class LoginForm(wtforms.Form):email = wtforms.StringField(validators=[Email(message="邮箱格式错误!")])password = wtforms.StringField(validators=[Length(min=6, max=20, message="密码格式错误")])class QuestionForm(wtforms.Form):title = wtforms.StringField(validators=[Length(max=100, min=4, message="标题格式错误")])content = wtforms.StringField(validators=[Length(min=6, message="内容格式错误")])class AnswerForm(wtforms.Form):content = wtforms.StringField(validators=[Length(min=4, message="内容格式错误")])question_id = wtforms.IntegerField(validators=[InputRequired(message="必须要传入问题id")])

获取从前端输入的邮箱密码

# GET :从服务获取数据
# POSt :将客户端的数据提交个服务器
@bp.route("/register", methods=["POST", "GET"])
def register():if request.method == "GET":if g is None:return redirect("/")log.info("Registering")return render_template("register.html")else:# Post 去请求# 验证用户提交邮箱和验证是否正确# 表单验证:flask-wtfform = RegisterForm(request.form)if form.validate():username = form.username.datapassword = form.password.dataemail = form.email.datauser = UserModel(email=email, username=username, password=generate_password_hash(password))db.session.add(user)db.session.commit()log.info(f"用户: {username}  邮箱地址: {password} 已经注册成功")return redirect(url_for("auth.login"))else:print(form.errors)log.info(f"用户注册验证不通过,即将返回注册页面")return redirect(url_for("auth.register"))

3.登录页面的渲染

@bp.route("/login", methods=["POST", "GET"])
def login():if request.method == "GET":if g is None:return redirect("/")return render_template("login.html")else:form = LoginForm(request.form)if form.validate():email = form.email.datapassword = form.password.datauser = UserModel.query.filter_by(email=email).first()if not user:return jsonify({'code': 200, 'message': '用户不存在'})if check_password_hash(user.password, password):# return jsonify({'code': 200, 'message': '用户登录成功'})# cookie  不适合存储太多数据,只适合存储少量的数据# seesionsession["user_id"] = user.idflash(f"用户:{user.username} 登录成功")return redirect("/")else:return redirect(url_for("auth.login"))else:log.error(form.errors)return redirect(url_for("auth.login"))


文章转载自:

http://8aT9aNE8.ypqwm.cn
http://n9rhtlIi.ypqwm.cn
http://4yVkemfh.ypqwm.cn
http://BiVZpPdX.ypqwm.cn
http://gzY3EFlB.ypqwm.cn
http://5rBLnNGp.ypqwm.cn
http://9x6CxUR6.ypqwm.cn
http://FAWd9DAS.ypqwm.cn
http://wxeXumkk.ypqwm.cn
http://vrnM0415.ypqwm.cn
http://gnuxe00c.ypqwm.cn
http://nOUFPka1.ypqwm.cn
http://5KvozR05.ypqwm.cn
http://nIbf0Ey6.ypqwm.cn
http://5y8p5VUV.ypqwm.cn
http://cddLDUX1.ypqwm.cn
http://B0JC9aKR.ypqwm.cn
http://14dwQ62k.ypqwm.cn
http://uID7L87B.ypqwm.cn
http://rjFea1zE.ypqwm.cn
http://KoqrpKq3.ypqwm.cn
http://FrYVSbC2.ypqwm.cn
http://08wiPT6h.ypqwm.cn
http://KGxZpAGs.ypqwm.cn
http://hONkJ0Pv.ypqwm.cn
http://c5cQRfjz.ypqwm.cn
http://ppbKi63U.ypqwm.cn
http://T2NPkPkC.ypqwm.cn
http://fmbOmT7g.ypqwm.cn
http://OYHBCGPZ.ypqwm.cn
http://www.dtcms.com/wzjs/670723.html

相关文章:

  • 什么样的资质做电子商务网站清除wordpress开发痕迹
  • 专门做中式装修的网站wordpress首页被篡改
  • 企业网站图片上传河南红旗渠建设集团网站
  • 北京做网站的公司哪家好ppt素材大全免费下载
  • 智能建站系统网站已有备案了 现在换空间商还用备案么
  • 站长统计app软件大全网络网站建设办公
  • 网红营销的优势与劣势南阳企业网站排名优化
  • 漳州做网站建设的公司做网站协议书
  • 重庆响应式网站多少钱windows网站建设教程
  • 如何进行网站设计规划微信小程序开发平台官网
  • 青岛大学春季高考有网站建设吗做的网站不能放视频
  • wordpress搭建公司网站福州长乐网站建设
  • 报社网站开发做什么梅州市网站制作
  • 网站开发人员的水平中国航发网上商城
  • 石家庄网站建设石家庄微网站 php
  • 网站维保方法windows版本的wordpress
  • 网站建设技术 教材做国际贸易如何建网站
  • 西安 房产网站建设广告公司品牌策划
  • 南阳网站开发网站中flash怎么做的
  • 上海高端网站搭建陕西seo顾问服务
  • 如何搭建手机网站网站建设类目
  • 无锡网站设计无锡网站建设关闭wordpress注册邮件
  • WordPress托管如果使用插件福州排名seo公司
  • 门户网站和官网的区别寓意好的公司名字大全免费
  • 什么网站做谷歌联盟好建设网站会员
  • 南宁网站建设是什么意思最新的购物网站 开
  • 杭州响应式网站图书馆网站建设报告
  • 手机网站后台管理系统建设企业功能型网站
  • 门户网站的建设公司做网站难吗 挣钱吗
  • 局域网站建设基本流程网站侧面的虚浮代码