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

男女做羞羞事试看网站阿里巴巴国际站坑人

男女做羞羞事试看网站,阿里巴巴国际站坑人,建立网站需要哪些手续,wordpress4.0慢一、flask对于简单搭建一个基于python语言-的web项目非常简单 二、项目目录 示例代码 git路径 三、代码介绍 1、安装pip依赖 通过pip插入数据驱动依赖pip install flask-sqlalchemy 和 pip install pymysql 2.配置数据源 config.py DIALECT mysql DRIVER pymysql USERN…一、flask对于简单搭建一个基于python语言-的web项目非常简单 二、项目目录 示例代码 git路径 三、代码介绍 1、安装pip依赖 通过pip插入数据驱动依赖pip install flask-sqlalchemy 和 pip install pymysql 2.配置数据源 config.py DIALECT mysql DRIVER pymysql USERNAME root PASSWORD 123456 HOST 127.0.0.1 PORT 3306 DATABASE tgcrm# mysql 不会认识utf-8,而需要直接写成utf8 SQLALCHEMY_DATABASE_URI {}{}://{}:{}{}:{}/{}?charsetutf8.format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PORT,DATABASE) SQLALCHEMY_TRACK_MODIFICATIONS False SQLALCHEMY_ECHO True# 加载密钥 key_access ^_^protect*py_^_^ 3、引用orm框架 访问数据库 /mapper/exts.py from flask_sqlalchemy import SQLAlchemy db SQLAlchemy()4、启动文件 app.py from flask import Flask # 引用数据库启动文件 from mapper.exts import db # 引用数据库配置文件 import config # 引用数据库 from controller.user_controller import *app Flask(__name__) app.config.from_object(config) db.init_app(app)app.register_blueprint(user, url_prefix/user)# 全局拦截器校验token app.before_request def before():key str(request.headers.get(TOKEN))if key ! format(config.key_access):return Password errorelse:passif __name__ __main__:app.run(host0.0.0.0, port8060)5、数据库操作 通过Flask提供orm框架对数据库进行操作 5.1增加 # 添加 http://127.0.0.1:5000/user/add/2/1 user.route(/add/username/pwd) def add_user(username, pwd):print(username, pwd)userinfo User(usernameusername, pwdpwd)db.session.add(userinfo)db.session.commit()# # 接受前端发来的数据# data json.loads(request.form.get(data))## # lesson: Operation System# # score: 100# lesson data[lesson]# score data[score]## # 自己在本地组装成Json格式,用到了flask的jsonify方法# info dict()# info[name] pengshuang# info[lesson] lesson# info[score] score# return jsonify(info)return jsonify(ADD_SUCCESS) 5.2删除 user.route(/delete/int:id) def delete_user(id):print(id)# 第一种user1 User.query.filter().first()print(user1.id)db.session.delete(user1)db.session.commit()# 第二种user2 User.query.filter(User.id 2).delete()db.session.commit()return jsonify(DELETE_SUCCESS) 5.3修改 user.route(/update/int:id) def update_user(id):user1 User.query.filter(User.id id).first()user1.username 我是修改后的db.session.merge(user1)db.session.commit()return jsonify(UPDATE_SUCCESS) 5.4查询 user.route(/list) def list_users():users User.query.all()print(users)users_output []for user in users:users_output.append(user.to_json())return jsonify(users_output) 5.5条件查询 1.filter_by和filter 两种写法根据版本的不同 filter_by: 用于查询简单的列名不支持比较运算符 filter比filter_by的功能更强大支持比较运算符支持or_、in_等语法。 data UserInfo.query.filter(UserInfo.name1).all() data UserInfo.query.filter_by(name1).all() 1.  根据用户名查询符合条件的第一条数据 User.query.filter_by(usernameusername).first() print(查询1, user1.to_json())      2. 查询名字结尾字符为g的所有数据[开始/包含] User.query.filter(User.username.endswith(g)).all() User.query.filter(User.username.contains(g)).all() ​ 3. 查询名字不等于wang的所有数据[2种方式]  from sqlalchemy import not_ 注意了啊逻辑查询的格式逻辑符_(类属性其他的一些判断) User.query.filter(not_(User.usernameyang)).all() User.query.filter(User.username!yang).all() ​ 4. 查询名字和邮箱都以 li 开头的所有数据[2种方式] from sqlalchemy import and_ User.query.filter(and_(User.username.startswith(li), User.email.startswith(li))).all() User.query.filter(User.username.startswith(li), User.email.startswith(li)).all() ​ 5. 查询password是 123456 或者 email 以 itheima.com 结尾的所有数据 from sqlalchemy import or_ User.query.filter(or_(User.pwd123456, User.email.endswith(tiantian.com))).all() ​ 6. 查询id为 [1, 3, 5, 7, 9] 的用户列表 User.query.filter(User.id.in_([1, 3, 5, 7, 9])).all() ​ 7. 查询name为liu的角色数据 关系引用 # 举例 暂时没有  User.query.filter_by(usernameliu).first().role.name ​ 8.获取第一条记录 User.query.first() 6、分页对象 has_prev/has_next——是否有上一页/下一页 Items——当前页的数据列表 prev_num/next_num——上一页/下一页的页码 total——总记录数 pages——总页数 user.route(/loadUserPage/int:page/int:per_page) def list_user(page, per_page): 用户分页 # 每一页的数据大小-per_page 页码-page# 1. 查询用户信息user User.query# 2. 准备分页的数据print(page, per_page)user_page_data user.paginate(page, per_pageper_page)users_output []for user in user_page_data.items:users_output.append(user.to_json())print(当前页的数据列表, users_output)print(是否有上一页, user_page_data.has_prev)print(是否下一页, user_page_data.has_next)print(上一页的页码, user_page_data.prev_num)print(下一页的页码, user_page_data.next_num)print(总记录数, user_page_data.total)print(总页数, user_page_data.pages)return jsonify(users_output)输出 当前页的数据列表 [{pwd: 2, id: 2, username: 2, nick: 2}] 是否有上一页 True 是否下一页 True 上一页的页码 1 下一页的页码 3 总记录数 7 总页数 7四、多模块配置 蓝图blueprint 在app项目中引用可以在app中声明多个路径 /user、/admin 、/customer等等 from controller.user_controller import userapp Flask(__name__) app.config.from_object(config) db.init_app(app)app.register_blueprint(user, url_prefix/user) 在子应用中声明 controller/user_controller from flask import Blueprint, jsonify, request, jsonuser Blueprint(user, __name__)# 查询全部 http://127.0.0.1:5000/user/list user.route(/list) def list_users():users User.query.all()print(users)users_output []for user in users:users_output.append(user.to_json())return jsonify(users_output) 五、统一过滤器 在app.py文件加入前置过滤器 # 引用配置文件 import config# 全局拦截器校验token app.before_request def before():key str(request.headers.get(TOKEN))if key ! format(config.key_access):return Password errorelse:pass 配置文件包括 # 加载密钥 key_access ^_^protect*py_^_^ 此时通过postman访问接口会对header进行请求头校验不满足请求直接被打回 直接当携带了TOKENxxxx才可以正常访问该接口
http://www.dnsts.com.cn/news/273773.html

相关文章:

  • 成都网站建设报价表网站建设部署视频
  • 珠海专业网站建设公司网站建设专家价格
  • 做网站建设公司赚钱吗怎么做网页设计的页面
  • 企业展示型电商网站模板二手交易网站开发的
  • 晋中建设局网站哈尔滨市人社app
  • 哪些网站是.net开发的linux wordpress 升级
  • 网站制作的常见问题制作ppt的软件电脑版
  • redis网站开发教程傻瓜网站建设软件
  • 凡科建站的建站后如何管理四川铁科建设监理有限公司官方网站
  • 广西建设职业技术学院青年网站常州有哪些做阿里巴巴网站的
  • 杭州建设职业技术学院招聘信息网站网站设计创意
  • 天河网站建设方案营销型网站更受用户欢迎的原因是
  • 聊城网站建设开发长治县网站建设
  • 域名注册网站上海关键词排名优化怎样
  • 一般网站建设公司网站开发手册
  • 云服务器如何搭建网站网站漏洞扫描工具
  • 企业查询官方网站网络营销策略包括哪几大策略
  • 在线免费做网站seo排名软件价格
  • 教育局网站群建设方案南通网站公司网站
  • 诸暨公司做网站建设网站公司哪家好
  • 携程网站建设进度及实施过程龙岗网站制作效果
  • 婚恋网站长安手机网站建设
  • 怎么在各大网站做推广台州网络营销公司
  • 网站报价表格青岛做优化网站哪家好
  • 厦门市集美区建设局网站微信推广
  • 重庆建设造价工程信息网站广西建设学院网站首页
  • 河南南阳油田网站建设上海外企
  • 长春网长春网络推广站排名哈尔滨建站服务网站开发
  • 网站找不到的原因竞价排名点击器
  • 盛泽建设局网站wordpress页面id判断