连接数据库的频率很高,所以把数据库操作封装起来 函数封装: def make_dicts(cursor, row): """ 将游标获取的Tuple根据数据库列表转换为dict """ return dict((cursor.description[idx][0], value) for idx, value in enumerate(row)) def get_db(): """ 获取(简历数据库链接) g: fl…
在查询的时候是使用ajax进行请求的 目录结构 personal.models from datetime import datetimefrom flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class Department(db.Model): """ 部门 """ __tablename__ = 'department' # primary_key=True:主键, autoinc…
机制:服务器端发送的小段文本信息存储在客户端硬盘 功能:记录用户偏好,请求.页面.站点间共享信息 特点:易丢失.安全隐患 添加cookie,需要用到make_respons.set_cookie @app.route('/setck/')def setck(): """ 添加cookie """ response = make_response('ok') response.set_cookie('username', 'aaa') return…
session管理和使用,需要用到flask的session模块和设置安全码:app.secret_key 比如列表页和编辑功能只能给admin用 列表页 编辑页 添加session 登录成功时,把username添加到session里面 app.secret_key = 'qoihf2397r21380r2/./ad' # 加密的安全码,越复杂越好,flask后台自动进行加密 @app.route('/login/', methods=['GET', 'POST'])def login():…
前提:已装好python3.4+且环境可正常运行 一:手动搭建: 准备好一个工作目录 管理员运行cmd,进入到准备的目录里面 执行命令:python -m venv 虚拟环境名 激活虚拟环境(在venvname外执行):venvname\scripts\activate 运行python,这个时候运行的就是虚拟环境的python了 退出虚拟环境(在venvname外执行):venvname\scripts\deactivate 二:pycharm自动搭建 新建工程时,选择创建为虚拟环境 创建完后…
标签内插入 标签外插入 给标签加标签 !DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>元素和标签插入</title> <script src="https://cdn.bootcss.com/jquery/2.2.4/jquery.min.js"></script><…
ajax除了用原生的js实现之外,也可以使用jquery实现,而且用jquery更方便 看一个简单的示例,保留上一篇的content路由和html,实现上一篇一样的功能,点击获取内容,局部刷新 准备一个页面用于被调用 <h1>这是content.html的h1标签</h1><p style="background: red"> 这是content.html的p标签,红色 <a href="https://www.baidu.com/&…
可以在html的head里面加一些说明 <meta http-equiv="X-UA-Compatible" content="IE=edge"><!--网页源数据跨平台兼容做一些说明--> <meta name="viewport" content="width=device-width, initial-scale=1"><!--跨屏自适应说明--> 引入bootstrap和…
jquery对元素操作,获取/替换文本(.text()).html(.html()).属性(.attr()).值(.val()) html代码 text() 根据标签获取文本值 同一个标签下筛选明细 最后一个元素 第一个元素 替换文本 html 获取html 替换html <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>…
前面做的wtform验证是服务器端的验证,需要把数据传输到服务器,服务器验证后再吧结果传输到前端,网络慢的时候,用户体验不好,所以需要前端验证,且后端验证不能少 传统的js或者jquery如果要验证信息,需要把一个个元素下的信息拿下来,再验证,而validation可以根据元素定位,可以直接就验证了 validation官网:https://jqueryvalidation.org/cnd引用地址:https://www.bootcdn.cn/jquery-validate/引用标签:<scri…
在实际工作中,前后端数据交互大部分都是用的json格式,后端把数据处理完后,把json传给前端,前端再解析 项目结构 models里面加入把数据转为字典的方法 from datetime import datetimefrom flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class Department(db.Model): """ 部门 """ __tablename__ = 'de…
有些情况需要请求和刷新部分资源,但是又不希望整个页面都刷新,这个时候就需要用ajax来处理,即页面的某一部分触发请求和刷新内容 准备两个视图和html from flask import Flask, render_template, request app = Flask(__name__, static_url_path='') @app.route('/')def index(): return 'hello world!' @app.route('/content/')def text_…
基于前一篇内容,可以使用模型的结构 目录结构 main,入口层 from flask import Flaskfrom flask_sqlalchemy import SQLAlchemy app = Flask(__name__) # 初始化app app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///./db/test.db' # 声明数据库类型和地址app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] =…
flask用的是jinja2模板,有自己特定的语法 形参: 在html里面留占位参数: {{ 参数名 }},后端传值时,参数名=参数值 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>b页面</title></head><body> <h1>{{ user }},你好<…
a.b两个视图,分别返回a的页面和b的页面 重定向:redirect 重定向到路由:请求/a/时,重定向到/b/ 重定向到视图函数:url_for(“函数名“),访问/a/时,重定向到函数b() 主动返回404:abort # coding:utf-8from flask import Flask, render_template, redirect, url_for, abort app = Flask(__name__) # 访问/help/时主动返回404@app.route('/help…
可以使用flask.make_response构造自定义响应信息 构造一个响应信息为文本,状态码为404 响应 响应数据为json,状态码为200 返回html # coding:utf-8from flask import Flask, make_response, render_templateimport json app = Flask(__name__) @app.route("/rp/")def send_response(): """ 构造响…
可以根据flask的request对象获取所有的请求信息 path = request.path # 获取请求地址method = request.method # 获取请求方法ip = request.remote_addr # 请求来源的ipform = request.form # 获取form表单的数据value = request.values # 获取查询字符串/表单数据headers = request.headers # 后区头部信息User_Agent = request.he…
当get请求传参时,用?分隔参数和域名,用&分隔参数,如果参数里面本身就有&符号就会识别不出来,还是会当成分隔符,所以这些数据在传输的时候,就需要转义,现在普遍是转成urlencode编码:%20%xx%23 在jinja2模板里面,可以使用 data|urlencode 发送urlencode编码,而python里面又有urllib.parse.unquote()可以解析urlencode编码 视图函数 html:访问"/"返回html,在html上面点击超链接时请求…
MVC流程 原本的请求响应 结构: 视图: from flask import Flask, render_template app = Flask(__name__) @app.route("/books/")def book_list(): return render_template('book_list.html') if __name__ == '__main__': app.run(debug=True) html <!DOCTYPE html><html…
实现效果,左边是图片或者其他媒体,右边是对应的描述 引入bootstrap和jquery标签 class="media" 数量多一些看着就会很规整 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>bootstrap布局</title> <!--网页源数据跨平台兼容做一些说明-->…
bootstrap列表 引入bootstrap标签 原本的效果 水平显示 bootstrap列表 列表组合框 在组合框后面加备注 突出显示 a标签列表 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>bootstrap布局</title> <!--网页源数据跨平台兼容做一些说明--> <me…
引入bootstrap和jquery 标题 对齐 正文强调 引言 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>bootstrap布局</title> <!--网页源数据跨平台兼容做一些说明--> <meta http-equiv="X-UA-Compatible" c…
一:下载到本地引用: 3.3.7版本:https://getbootstrap.com/docs/3.3/getting-started/#download 下载后解压到本地项目中引用 第二种,cdn标签引用:https://www.bootcdn.cn/twitter-bootstrap/ 为了稳定,找3.3.7版本,min.css,复制标签:<link href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap…
jquery操作样式 添加样式.删除样式 切换样式 css("属性","值") css("属性","值"), 修改多个 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title></title> <script src="h…
文字特效 html内容 1.卷起/展开 2.隐藏/显示 3.淡入淡出 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <!--<script src="../js/jquery-3.4.1.min.js"></script>--&g…
工作中一般会使用jquery代替js,jquery官网:https://jquery.com/ 引用jquery: 第一种方式:下载引用: jquery下载官网:https://jquery.com/download/ 下载压缩版本:右键-链接另存为,保存到项目的js下 引用 第二种方式:CDN引入:https://www.bootcdn.cn/jquery/ 为了稳定,使用2.2.4版本,直接复制标签到script标签下 jquery语法:$("选择器").事件(函数); 准备htm…
# 匿名函数:lambda表达式# lambda 参数: 逻辑f = lambda name: print(name)f('tom') f2 = lambda x, y: x + yprint(f2(4, 6)) # 实现根据输入的筛选条件执行不同的函数def hello_chinese(name):    print('你好', name) def hello_english(name):    print('hello', name) operation = {    'c': hello_…
访问http://localhost:8888/game随机获取一张扑克牌.豹子(炸弹):三张点相同的牌.例:AAA.222.顺金(同花顺.色托):花色相同的顺子.例:黑桃456.红桃789.最大的顺金为花色相同的JQK,最小的顺金为花色相同的123.金花(色皮):花色相同,非顺子.例:黑桃368,方块145.顺子(拖拉机):花色不同的顺子.例:黑桃5红桃6方块7.最大的顺子为花色不同的QKA,最小的顺子为花色不同的123.对子:两张点数相同的牌.例:223,334.单张:三张牌不组成任何类型的…
# map(函数名,可迭代对象)# 给可迭代对象的每个值+5l = list(range(1, 21)) def add_number(x):    return x + 5 # 第一种方式print([x + 5 for x in l]) # 第二种方式print(list(map(add_number, l))) # 第三种方式print(list(map(lambda n: n + 5, l))) # filter(函数名,可迭代对象)# 找偶数l = list(range(1, 11))…
一:装java环境,确保java能正确调用 kafka下载地址:http://kafka.apache.org/downloads 下载并解压kafka: 新建两个文件夹,用于存放zookeeper和kafka的log数据 修改配置: 1.新建zookeeper_data\zookeeper文件夹,用于存放zookeeper的数据 编辑config--zookeeper.properties的dataDir为刚刚创建的文件夹,clientPort为zookeeper的默认端口号 2.新建一个文件…