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

中通顺昌建设有限公司网站网页设计实验报告小结

中通顺昌建设有限公司网站,网页设计实验报告小结,北京小程序制作首选华网天下,中国四大门户网站分别是1.Tornado_wtform介绍 WTForms是用于Python Web开发的灵活的表单验证喝呈现库。他可以和任何的web框架和模板引擎一起使用。 现在因为前后端分离的原因#xff0c;一般只用于表单的验证#xff0c;模板渲染的功能基本不再使用。 2.为什么要表单数据验证 其实前端也是可以进…1.Tornado_wtform介绍 WTForms是用于Python Web开发的灵活的表单验证喝呈现库。他可以和任何的web框架和模板引擎一起使用。 现在因为前后端分离的原因一般只用于表单的验证模板渲染的功能基本不再使用。 2.为什么要表单数据验证 其实前端也是可以进行数据验证但由于前后端分离的原因还是在后端进一步验证可以保证传入到的数据合法。 3.安装 pip install wtforms-tornado4.使用方式 创建表单类 1. 需要继承wtforms_tornado.Form 2. 定义字段类型 - 可以使用wtforms.fields引入 3. 定义验证规则 - 可以使用wtforms.validators引入创建表单对象调用表单验证方法 5.Tornado_wtform数据验证 这里将使用原先的写过的个人信息填写对其进行添加数据验证功能 个人信息案例原网址 5.1错误信息解决 ImportError: cannot import name ‘compat’ from ‘wtforms’ wtforms3.0.1 删除 pip uninstall wtforms下载旧版本pip install wtforms2.3.3 5.2代码展示 from wtforms34 import UserForm# 建立表单对象uf UserForm(self.request.arguments)# 验证if not uf.validate():# 成功true 失败falseimport jsondata json.dumps(uf.errors, ensure_asciiFalse)self.write(data)表单验证规则 from wtforms_tornado import Form from wtforms.fields import IntegerField, StringField from wtforms.validators import DataRequired, Length# 创建一个表单类 class UserForm(Form):# 定义字段注意 验证字段的名字一定要和前端传递来的名字保持一致# 编写规则id IntegerField(ID)username StringField(用户名,validators(DataRequired(message请填写用户名),Length(min3,max10,message请输入3-10位的用户名)))nick_name StringField(昵称)email StringField(邮箱)password StringField(密码)phone StringField(电话)language StringField(语言) 6.完整代码 from tornado.web import Application, RequestHandler, URLSpec from tornado.ioloop import IOLoop import asyncio import aiomysql # 引入 from wtforms34 import UserFormclass IndexHandle(RequestHandler):# 首先由Application创建路由地址时携带参数传递会到initialize去定义一个self.mysql用于get中获取参数def initialize(self,mysql):self.mysql mysqlasync def get(self):print(self.mysql)# 获取1个客户端链接池async with aiomysql.create_pool(hostself.mysql.get(host),portself.mysql.get(port),userself.mysql.get(user),passwordself.mysql.get(pwd),dbself.mysql.get(db)) as pool:# 获取1个链接用来获取游标async with pool.acquire() as con:# 获取一个游标用来操作数据库async with con.cursor() as cur:# 执行sql# sql select 101sql select * from t_userawait cur.execute(sql)# 获取结果rs await cur.fetchone()print(rs)self.render(personal34.html,user rs)async def post(self):# 获取前端传递来的数据uname self.get_argument(username)nick_name self.get_body_argument(nick_name)email self.get_argument(email)password self.get_body_argument(password)phone self.get_argument(phone)language self.get_body_argument(language)# 建立表单对象uf UserForm(self.request.arguments)# 验证if not uf.validate():# 成功true 失败falseimport jsondata json.dumps(uf.errors, ensure_asciiFalse)self.write(data)else:try:# 获取idid self.get_body_argument(id)except Exception as e:id Falseargs [uname,nick_name,email,password,phone,language]# 链接数据库# 获取1个客户端链接池async with aiomysql.create_pool(hostself.mysql.get(host),portself.mysql.get(port),userself.mysql.get(user),passwordself.mysql.get(pwd),dbself.mysql.get(db)) as pool:# 获取1个链接用来获取游标async with pool.acquire() as con:# 获取一个游标用来操作数据库async with con.cursor() as cur:if not id:sql insert into t_user values(0, %s, %s, %s, %s, %s, %s)await cur.execute(sql, args) # 提交事务await con.commit()# 获取生成的idid cur.lastrowidelse:sql update t_user set uname%s, nick_name%s, email%s, pwd%s, phone%s, language%s where id%s# 增加id来告诉数据库更新哪一条数据args.append(id)await cur.execute(sql, args)await con.commit()# 存放id到args中args.insert(0,id)self.render(personal34.html, user args)if __name__ __main__:import os# 获取绝对路径base_path os.path.abspath(os.path.dirname(__file__))# 设置应用参数settings {template_path:os.path.join(base_path, templates),static_path: os.path.join(base_path, static),static_url_prefix: /static/,debug: True,# 为了方便数据库的修改可以直接把参数单独放在这mysql: {host: 127.0.0.1,port: 3306,user: root,pwd: root,db: tornado_db}}# 创建Tornado应用app Application([URLSpec(/,IndexHandle, {mysql:settings.get(mysql)})], **settings)# 设置监听端口号app.listen(8000)IOLoop.current().start() 错误信息解决 ImportError: cannot import name compat from wtformswtforms3.0.1 删除 pip uninstall wtforms下载旧版本pip install wtforms2.3.3
http://www.dnsts.com.cn/news/103432.html

相关文章:

  • 有那种做订单的网站吗代理上网
  • 青岛网站推广计划wordpress添加附件下载
  • 长春企业网站建设公司广告设计公司的进项有哪些
  • 做网站带后台多少钱推广平台的方法
  • 怎样建设学校网站首页做代练网站能备案
  • seo建站优化推广把货卖到国外有哪些平台
  • 攻击静态网站沈阳营销型网站
  • 工作站中国设计师网站
  • 河北固安县网站建设网页制作工具按其制作方式分可以分为哪几种
  • 个人做网站 优帮云衡天 wordpress
  • 网站制作上海局域网建网站的详细步骤
  • 外贸建站哪好陈木胜怎么死的
  • 做网站单位西安网站制作设计定制
  • 专业建站公司提供详细的功能描述及报价怎么做加密货币网站
  • 怎么创建网站 免费滴学做彩票网站好
  • 百度搜索不到我的网站网络营销服务市场目前主要的服务是
  • app网站怎么下载广州响应式网站制作
  • 河南郑州网站建设公司电子商务网络平台
  • vs2017网站开发时修改的页面未变化wordpress 页面栏目
  • 做网站推广的工作内容wordpress怎么获取数据
  • 个人博客有哪些网站魅族的网站建设与安全
  • 自己的电脑做网站云存储网站制作报价维持地建网络
  • 黄页推广软件网站深圳宝安区律师事务所
  • 晋江网站设计泉州名扬专业跨境电子商务主要学什么
  • 有口碑的唐山网站建设天河区建设网站
  • 工装设计案例网站买完域名后怎么搭建个人网站
  • 北京网站建设费用连云港网站建设sitall
  • 服装服饰设计网站怎么使用免费的wordpress
  • 校友会网站建设网站建设是专业
  • 做暖漫画网站用fw做明星的网站