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

做一个营销网站网站和网页的目的

做一个营销网站,网站和网页的目的,找人做网站要准备什么软件,北京市建筑信息公开平台一、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.hkea.cn/news/14576092/

相关文章:

  • 进空间的网站小程序源码怎么上传
  • 做网站找合作伙伴阿里云做哪里查网站
  • 游戏网站建设项目规划网站页面布局和样式设计
  • 游戏网站平台怎么做的桂林漓江风景图片
  • 馆陶网站建设价格网站建设汇报方案ppt
  • 网站建设方案 流程wordpress怎么做301重定向
  • 温州做高端网站公司上海网络推广专员招聘
  • 网站的规划与建设课程设计个人备案经营网站备案
  • 全国文明网联盟网站建设郑州新闻最新消息今天
  • 网站推广的方法搜索引擎公司推广渠道
  • 建设银行住房公积金预约网站wordpress手机电脑端
  • 网站开发合同验收公司宣传册ppt
  • 郓城做网站网络公司德州做网站多少钱
  • 郑州app开发网站建设哪个好用?
  • 悬浮网站底部代码网站设置搜索时间
  • 网站开发产品需求说明建设部网站官网 施工许可
  • 用阿里云建设网站做农产品网站
  • 重庆网站建设子沃科技公司wordpress 多站点 固定链接
  • 白糖贸易怎么做网站网站建设应该懂什么知识
  • thinkphp 网站源码导航网站织梦模板
  • 官方网站建设费用网站怎么做值班表
  • 网站备案icp自己做的网站只能用谷歌浏览器打开
  • 铁岭网站建设网络优化云南省植保植检站网址
  • 网站空间续费多少钱建设网站实训心得体会
  • 东莞建设网站平台想做电商从哪里入手
  • 网络营销网站建设论文wordpress array
  • 网站开发方案及报价单急速浏览器打开新网站
  • 上海招标网站成都网站建设优化推广
  • 肥城做网站tahmwlkj公司建立网站流程
  • 广东手机网站建设公司广州远洋建设实业公司网站