@classmethod 类方法 和属性一样,所有实例化的对象都共享类方法 @staticmethod 静态方法,可以理解为和类没有任何关系,只是放在了类里面 参数可以任意定义,根据自己的定义传参,也可以定义不传参…
def 函数名(): 函数代码块 return 返回值 参数 必备参数:位置参数,调用函数时必须有值传入 默认参数,调用如果没有传值使用默认值 不定长参数 *args:想传多少传多少,必须放在位置参数后面 关键字参数**kwargs,可以传入多个key与value ''' 实现四则运算的计算器,程序出现错误返回None '''…
元素显示效果:display 块级元素,会导致换行:p.div.h...内联元素,不会导致换行:span.strong... 修改属性 让span标签换行 让指定div不换行 元素可见性:visibility 一:影藏内容和位置:display: none 二:正常显示:visibility: visible 三:影藏内容,不影藏位置:visibility: hidden css /* 元素显示 *//*让span标签换行*//*span{ display: block; }*/ /*让div不…
<!-- 继承base模板 -->{% extends 'base.html' %} {% block script %} <!-- 从cdn引入ace edter的js --> <script src="https://cdn.bootcss.com/ace/1.4.5/ace.js"></script> <script src="https://cdn.bootcss.com/ace/1.4.5/mode-python…
WTForms主要是两个功能:1.生成HTML标签  2.对数据格式进行验证 官网:https://wtforms.readthedocs.io/en/stable/ 这篇介绍用wtform生成html标签,前端只需要框架,元素使用wtform自动生成 安装: 使用wtform重新建模和写前端 from flask_wtf import Formimport wtforms class EmployeeForm(Form): name = wtforms.StringField("姓名"…
可以根据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…
创建sqlite数据库,并创建表和数据 python自带sqlite3库可以创建数据库文件 导入库:import sqlite3 创建游标,指定数据库名字:con = sqlite3.connect(r'.\db\data.sqlite') 关闭游标,并刷新目录,数据库文件就已经创建成功 pycharm连接数据库 pycharm右侧,database,选择数据库类型 第一次使用时,点击下载驱动 选择要连接的数据库文件,测试连接,如果通过就可以点下面的ok,就连上了 可以在窗口直接运行sql 也可…
变量 赋值 variable=0,访问 $var或${var} 参数 $n 用``引住的会先执行(~键) 位置参数 环境变量/etc/profile:全局的环境变量 . bash_profile:用户的环境变量,在哪个用户的home下,就对哪个用户生效~/ .bashrc:用户的环境变量,在哪个用户的home下,就对哪个用户生效export:导出变量,即用户在外面使用source:修改环境变量后让变量文件生效 添加a到环境变量 也可以export其他的变量 在脚本中使用环境变量 管道 | 管道操…
from selenium import webdriverfrom common import get_case_idfrom common.mongo import Mongo class Logic(object): """ 每一个方法名对应前端的操作的元素,方便反射 """ def __init__(self): self.mongo = Mongo() def browser(self, params): ""&qu…
//添加网址的函数,生成一个输入网址的标签,并且把标签append到id为cases下function browser() { var html = '\ <div class="row" command="browser">\ <label>打开网址:</label>\ <input type="text" placeholder="http://www.baidu.com/">…
{% extends "base.html" %} {% block script %} <!-- 引入js文件,需要在base.html留入口,不然渲染会出问题. --> <script src="/automation/static/automation.js"></script>{% endblock %} {% block content %} <div class="container" sty…
common.js //定义后台的host和端口var host = 'http://192.168.xxx.1:8000'; //'http://127.0.0.1:8000'; //用于发送http请求function http(url, data, method, success, fail){ //如果是get请求,直接传参,如果是其他请求,以json的格式传参 var data = method == 'GET' ? data : JSON.stringify(data) consol…
实现接口测试平台使用jsonpath进行取值来断言,效果: 访问页面: 调试功能:http://www.kuaidi100.com/query 保存功能 触发执行功能 查看报告功能 目录结构 common的代码: init: import timeimport uuid def get_timestamp(data=None): """ 生成字符串格式的时间戳数据 20190704204826 """ if data: return time.s…
import inspect class Case(object): """ 实现断言 """ def __init__(self): self.result = {} # 存断言的结果 def _assert(self, expression, message): """ 真正执行断言的函数 """ """ [2][1]二维数组,以a调b时b调c为例 第一…
在static下新建一个css,并写入内容 /*标签选择器,label标签的颜色为红色*/label {color: red;} /*.代表类选择器,绿色*/.test {color: green;} /*#代表id选择器,黄色*/#test {color: yellow;} /*div标签下的魔偶写标签下的lable标签(相对关系),内容的颜色为蓝色*/div label {color: blue;} /*div标签下的直接的lable标签(父子关系),,灰色*/div > label {co…
Flask中文文档:http://docs.jinkan.org/docs/flask/ 安装Flask库 选端口号的一种方法(避免和别人选的端口冲突,小于1024的时候重新选) 最小web程序 用127.0.0.1或者localhost访问 返回html标签…
可以在html的head里面加一些说明 <meta http-equiv="X-UA-Compatible" content="IE=edge"><!--网页源数据跨平台兼容做一些说明--> <meta name="viewport" content="width=device-width, initial-scale=1"><!--跨屏自适应说明--> 引入bootstrap和…
实现给一个路径,去查找test开头的测试用例文件 创建一个计算器的类,方便后面测试用 class Calculator(object): def add(self, x, y): return x + y def sub(self, x, y): return x - y def mul(self, x, y): return x * y def div(self, x, y): return x / y 创建一个unittest的用例集 # coding=utf-8 from unittest…
基础配置与上一篇一致 404错误 定义一个error页面 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>错误页</title></head><body> <h1>哎呀,出错啦!</h1></body></html> 追加一个404的视图…
前面做的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除了用原生的js实现之外,也可以使用jquery实现,而且用jquery更方便 看一个简单的示例,保留上一篇的content路由和html,实现上一篇一样的功能,点击获取内容,局部刷新 准备一个页面用于被调用 <h1>这是content.html的h1标签</h1><p style="background: red"> 这是content.html的p标签,红色 <a href="https://www.baidu.com/&…
jinja2是python的模板引擎, 在写python web使用的过程中,macro可以节省大量的代码 比如上一篇的渲染页面 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>用户注册</title></head><body><form action="#"…
使用WTForms表单验证,可以在数据建模时就设置验证信息和错误提示 创建模型时,设置验证内容,如必填.格式.长度 from flask_wtf import Formfrom wtforms import StringField, PasswordField, BooleanFieldfrom wtforms import validators class UserRegForm(Form): username = StringField('用户名', [validators.DataRequ…
实现在页面上点击展示页就展示内容,点击新增页就触发新增功能 项目结构 admin.__init__ from flask import Blueprint admin = Blueprint('admin', __name__) # 声明蓝图 # 把蓝图下的视图导进来注册到蓝图from admin.views import * admin.add_url_rule('/emp-list/', view_func=EmployeelListView.as_view('emp_list')) # 展…
在上一篇的基础上,插入数据 查询 Department.query.all() # 用表对象查db.session.query(Department).all() # 用db对象查 查询前两条,直接python截取前两条数据 排序 默认升序:order_by(排序的字段名) 倒序:从sqlalchemy导入desc 查询单个指定字段 查询多个指定字段 只用一个变量接收多个查询结果的时候,SQLAlchemy默认用namedtuple进行命名处理 namedtuple结构: 别名:label(别名…
flask-SQLAlchemy是在原生SQLAlchemy的基础之上做了一层封装,安装flask-SQLAlchemy会自动安装SQLAlchemy 安装 传统的sql建表建字段 通过flask-SQLAlchemy建表建字段 用法:声明和初始化一系列的配置 flask-SQLAlchemy建表建字段 db.String() 整形db.Integer() 字符串db.TEXT() 文本db.DateTime() 日期时间db.Float() 浮点db.Boolean() 布尔db.Pickle…
机制:服务器端发送的小段文本信息存储在客户端硬盘 功能:记录用户偏好,请求.页面.站点间共享信息 特点:易丢失.安全隐患 添加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():…
flask用的是jinja2模板,有自己特定的语法 形参: 在html里面留占位参数: {{ 参数名 }},后端传值时,参数名=参数值 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>b页面</title></head><body> <h1>{{ user }},你好<…