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

马云有没有学过做网站百度app官网下载安装

马云有没有学过做网站,百度app官网下载安装,上海建筑公司排行榜,岑巩网站建设简介#xff1a; tornado是Python的web框架。tornado和主流的web服务器框架有明显的区别#xff1a;它是非阻塞式服务器#xff0c;而且速度非常快#xff0c;得力于其非阻塞的方式和epoll的运用tornado可以每秒处理数以千计的连接#xff08;号称#xff09; 基本配置 …简介 tornado是Python的web框架。tornado和主流的web服务器框架有明显的区别它是非阻塞式服务器而且速度非常快得力于其非阻塞的方式和epoll的运用tornado可以每秒处理数以千计的连接号称 基本配置 1.  app文件 包含__init__.py文件和视图文件init文件是为了让文件变成模块导包使用 import tornado.web from db.models import UserModelimport os import sys# 模块导包 base_path os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) sys.path.append(base_path) sys.path.append(os.path.join(base_path, config))from config.config import SECRET_KEYdef md5(password):import hashlibmd5 hashlib.md5()password SECRET_KEYmd5.update(password.encode(utf-8))sign md5.hexdigest()return sign# 视图 # tornado视图以Handler结尾 # 视图继承tornado.web.RequestHandler class UserHandler(tornado.web.RequestHandler):# 由于是异步框架 方法async开头async def get(self):username self.get_argument(username, None) # None非空校验password self.get_argument(password)print(username, password)if not all([username, password]):return self.finish({code: 400,msg: 数据不能为空})# 重复校验user UserModel.select().where(UserModel.username username)if user:return self.finish({code: 400,msg: 用户名已注册})password md5(password)print(password)UserModel.create(usernameusername, passwordpassword)return self.finish({code: 200,msg: 注册成功})# 声明tornado实例 app tornado.web.Application(# handlers路由 列表形式handlers[# r非转义字符(r/, UserHandler),],debugTrue ) 视图继承tornado.web.RequestHandler接收前端参数self.get_argument()由于是异步框架 方法用async开头返回值self.finish()声明tornado实例tornado.web.Application(handlers[(r/,视图名)])debugTrue 自动重启2.  config文件 包含init文件和config.py # 配置文件 MYSQL_HOST 127.0.0.1 MYSQL_USER root MYSQL_PASSWORD 123456 MYSQL_PORT 3306 SECRET_KEY njxdsncjnds主要是放置一些配置信息 3.  db文件 包含init文件、db.py、model.pydb.py主要是连接数据库model.py写模型类db.py # 连接数据库 import peewee_async import sys import os# 从上级目录导入 # sys.path.append(..)# 系统化模块导包 base_path os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(base_path) sys.path.append(os.path.join(base_path, config))from config import configprint(config.MYSQL_HOST)database peewee_async.PooledMySQLDatabase(databasevideosite,userconfig.MYSQL_USER,passwordconfig.MYSQL_PASSWORD,hostconfig.MYSQL_HOST,portconfig.MYSQL_PORT ) 通过python中的ORM包peewee_async来创建连接数据库peewee_async.PooledMysqlDatabase()连接数据库model.py from datetime import datetime import peewee# 设置模块路径 import os import sys# 设置根路径 # base_dir1 os.path.abspath(__file__) # 执行文件的路径 # base_dir2 os.path.dirname(os.path.abspath(__file__)) # 执行文件的上一层 base_path os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 执行文件的上上一层print(base_path) sys.path.append(base_path) sys.path.append(os.path.join(base_path, db))from db.db import database# 创建基类数据库 class BaseModel(peewee.Model):__abstract__ Trueid peewee.IntegerField(primary_keyTrue, uniqueTrue, constraints[peewee.SQL(AUTO_INCREMENT)])create_time peewee.DateField(defaultdatetime.now, verbose_name创建时间)class Meta:database databaseclass UserModel(BaseModel):username peewee.CharField(max_length128, uniqueTrue)password peewee.CharField(max_length128)class Meta:database database # 指定数据库入口db_table user# if __name__ __main__:# 创建表# UserModel.create_table()# UserModel.drop_table(True)# 添加数据库# UserModel.create(username张三, password123) 创建表是继承peewee.Modelpeewee.Model是父类BaseModel继承父类是他的子类UserModel继承BaseModel是他们的超类创建表UserModel.create_table(True)删除表UserModel.drop_table(True)添加表UserModel.create()必须指定数据库连接入口databasedatabase4.  .gitignore文件 上传git时不需要上传的文件保护隐私5.  main.py 入口文件 入口文件 整个tornado项目的重点启动项目就是这个文件 # 单一入口文件 import tornado.web# 服务包 from tornado import httpserver# 模块导包 import os import sysbase_path os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(base_path) sys.path.append(os.path.join(base_path, app))from app.user import appif __name__ __main__:# 建立服务server httpserver.HTTPServer(app, xheadersTrue)# 打印tornado服务启动不显示print(Tornado后台服务已启动)# 监听端口 服务.listen(端口号) 端口号随便写server.listen(5050)# 启动tornado.ioloop.IOLoop.instance().start()建立服务要写httpserver.HTTPServer(app,xheadersTrue)app是tornado实例xheadersTrue监听接口listen(端口号)启动命令tornado.ioloop.IOLoop.instance().start()6.requmerents.txt  项目所需要下载的所有包其他文件static tools utils 最后在终端启动项目命令 python .\main.py
http://www.w-s-a.com/news/341083/

相关文章:

  • 淘宝联盟怎么自己做网站山西省住房与城乡建设厅网站
  • 最新网站建设常见问题使用微信推广的各种方法
  • 购物网站建设课程设计报告做木工的网站
  • 扶沟县网站开发网站建设在哪里进行
  • 查看网站服务器信息网站首页地址 网站域名
  • 网站网站制作网站的ui界面设计案例分析
  • 怎么查网站是否备案成都装修公司联系电话
  • 佛山免费发布信息的网站oa办公系统排行榜
  • 南湖区建设街道办事处网站汕头建设银行各支行电话
  • 复古风格网站网站套餐方案
  • 界面设计做的好的网站旅游商城网站模板
  • 大型电子商务网站 服务器硬件 cpu 内存 硬盘 2014美食网站开发意义
  • 建立网站的目的和意义网站建设寻求
  • 邢台手机网站建设设计师培训心得
  • 营销网站怎么做丽水微信网站建设哪家好
  • 南昌定制网站开发多少钱东阿县城市建设局网站
  • 浙江网站建设公司南昌seo招聘
  • 工业软件有哪些专业seo站长工具全面查询网站
  • 山东兴华建设集团有限公司网站和京东一样做电子产品的网站
  • 网站建设谢辞关于h5的网站模板
  • 网站改版提交WordPress360收录
  • 省级网站 开发建设 资质在国外怎么做网站
  • 中商华兴建设有限公司网站我的世界查找建筑网站
  • 广东网站设计公司百度推广免费送网站
  • 高密做网站哪家好网站建设预算
  • 免费wordpress网站模板重庆如何做聚政网站
  • 人才网站app建设建议系统开发生命周期法的优点表现
  • 门户网站想要微信登录怎么做湖南网站seo推广
  • 襄阳 网站建设管理系统网站
  • 重庆工程建设招标投标交易信息网广州外贸seo优化