- 博客(42)
- 收藏
- 关注
原创 阿里云部署:flask+docker+fasfdfs 外网访问fastdfs
阿里云服务器(centos7)上使用docker+Fastdfs,外网访问fastdfs的图片,故记录一下。共试了两种方式,第一种未行通,有大佬可以指导下。首先我使用第一种方式(fastdfs+nginx):第一步: 使用ifconfig查看服务器ip,记住此ip 第二步使用docker安装fastdfs,并开启tracker,storage服务docker image pull...
2020-02-21 14:03:30 1206 3
原创 flask-sqlalchemy事务引发的若干个问题思考
一、首先要明白flush和commit区别: > flush: 写数据库,但不提交,也就是事务未结束 > commit: sqlalchemy会自动创建隐私的事务,先调用flush写数据库,然后提交,结束事务,并开始新的事务二、对db.session.flush进行探索(现有两张表,一主一外)class OrderInfo(db.Model)...
2020-02-16 18:42:07 1280
原创 flask迁移数据库时关于枚举字段使用中文报错
模型类:class Goods(CRUDMixin, BaseModel, db.Model): __tablename__ = "goods_spu" id = db.Column(db.Integer, primary_key=True) type = db.Column(db.Integer, db.ForeignKey('goods_type.id')) ...
2020-02-15 17:20:24 418
原创 web自动化小练习(1)
让程序自动百度搜索周杰伦,做这个练习巩固一下这几天学的selenium基本知识。遇到的主要问题:百度的href随机变化,需要通过正则提取:import re"""正则表达式测试<a.+?href=\"(.+?)\".*>(.+)</a>单独href : <a.+?href=\"(.+?)\".*>单独连接文字:>(.+)</a&...
2019-09-27 11:13:49 418
原创 jinja2.exceptions.TemplateSyntaxError: Expected an expression, got 'end of statement block'
错误原因:TemplateSyntaxError,基本都错在jinja2模板部分,这里应该写成 {% else %} 或者{% elif news.status==-1%}另外一个bug:前端页面没有显示相应数据很明显后端传数据出现了问题,检查代码发现检查代码发现:print(news_list)并没有返回一个字典列表,原因是少打了一个括号,没有返回字典...
2019-09-07 11:17:11 10212
原创 Provisional headers are shown
今天做项目时,Chrome给出了一个警告Provisional headers are shown,刷新过后警告又消失。于是上网搜索了一下,记录一下网址,以后再次碰到可以回过头看。https://segmentfault.com/a/1190000018191614?utm_source=tag-newesthttps://www.cnblogs.com/pqjwyn/p/10042492...
2019-08-25 15:29:35 1186
原创 简单讨论装饰器
一、闭包,装饰器# 一、闭包,装饰器def w1(): def inner(): print('-------正在验证权限-----') return innerdef f1(): print('--------f1---------')# 1.执行w1(),此时return了inner函数,注意:目前w1函数里面的inner()函数...
2019-08-24 11:31:31 160
原创 关于Redis读取数据带有‘b’的问题
今天在做验证码时,前端数据始终与redis数据对不上号,后面发现原因在于在python中从Redis取出的Sting都变成bytes格式。import redis"""连接Redis测试"""if __name__=="__main__": try: redis_store = redis.StrictRedis(host='127.0.0.1', port...
2019-08-21 13:29:17 3237 3
原创 JS异常: Uncaught RangeError: Maximum call stack size exceeded
今天被一个bug弄得头大...!!!!!!!找了无数资料...网上说是递归函数的原因https://blog.csdn.net/qq_30100043/article/details/72642205还是未能解决问题,继续找!!!!最后在https://blog.csdn.net/FansUnion/article/details/73801346大哥的博文中找到灵感!!!...
2019-08-20 22:24:38 22882 7
原创 Flask迁移mysql数据库报错汇总
今天在迁移数据库时,遇到了一个又一个的问题,记录一下错误一:ERROR:root:Error: Directory migrations already exists原因是:之前已经执行过一次 python3 manage.py db init 命令,已经存在migrations文件夹。迁移环境只需要创建一次,后续不需要重新创建。错误二:误删migrations文件夹后再次创建时遭...
2019-08-20 11:51:13 5998 1
原创 实例方法、类方法、静态方法之间的比较
看下面一串代码:class MyCls(object): __age = 20 def __init__(self): self.__age = 18 def a(self): return self.__age @classmethod def b(cls): return cls.__age...
2019-08-19 15:52:06 151
原创 redis系统参数调整
一、vi进/usr/local/redis/conf/redis.conf发现redis默认配置项太多,简化配置:cp /usr/local/redis/conf/redis.conf /usr/local/redis/conf/redis.conf.bak # 备份一份cat /usr/local/redis/conf/redis.conf |egrep -v '^#|^$' # 去...
2019-08-18 21:42:43 545
原创 centos源码安装redis
1、redis源码编译:yum install -y wget gcc gcc+ make tar openssl openssl-devel cmakecd /usr/local/srcwget 'http://download.redis.io/releases/redis-4.0.14.tar.gz'tar -zxf redis-4.0.14.tar.gzcd redis-4....
2019-08-18 19:56:05 130
原创 uwsgi+nginx安装部署
一、uwsgi1、uwsgi安装pip3 install uwsgi 2、配置uwsgi.inicd ~vi uwsgi.ini 3、启动uwsgi()uwsgi uwsgi.ini执行后会有如下错误,可忽略:[uWSGI] getting INI configuration from uwsgi.iniopen("/usr/local/pytho...
2019-08-18 11:44:32 743
原创 flask中request.args和request.form区别
@app.route('/ajaxget1')def ajax_test_get(): server_name = request.args.get('server_name') server_ip = request.args.get('server_ip') print('----get请求分隔符-----') print(request.args) ...
2019-08-10 15:08:43 6517
原创 flask实现文件的上传和下载
文件上传和下载前端的实现 <form action="/upload" enctype="multipart/form-data" method="post"> <div class="form-group"> <input type="file" class="form-control" name="servers"> &l...
2019-08-09 10:21:04 4457
原创 centos7源码安装Python3
首先检查有gcc,没有则进行安装 gcc --versionyum -y install gcc # 安装 安装一些依赖包,然后进入路径,进行安装 yum install -y net-tools gcc gcc-c++ ncurses ncurses-devel unzip zlib-devel zlib openssl-devel opensslcd /usr...
2019-08-06 20:30:40 151
原创 python多继承二义性
假如在多继承中,父类A和父类B中有一个同名的方法,子类调用的时候,调用哪个呢?class Base(object): def test(self): print('----base----') class A(Base): def test(self): print('----A----') class B(Base): ...
2019-08-06 12:02:35 398
转载 关于Python链式赋值的赋值顺序问题
https://blog.csdn.net/LaoYuanPython/article/details/95300934
2019-08-05 13:08:10 164
转载 linux下 mysql 5.7 配置 my.cnf(mysqld.cnf)文件位置 以及具体的配置方式
一、问题mysql 5.7 版本,/etc/my.cnf 和 /etc/mysql/my.cnf空空如也,需要自己添加需要的配置,而不能像之前一样 只要去掉 #号注释即可。可以参考djCode的blogMySQL的my.cnf文件(解决5.7.18下没有my-default.cnf),里面有详细的配置和说明,并且笔者也 验证了 慢查询日志配置的正确性,读者可以自行拷贝需要的配置到默认...
2019-08-03 15:21:12 2548
原创 flask无法创建数据库
今天实操flask连接mysql的,就短短几行代码,弄得头都大,大概没有打代码的天赋吧~~~~~当我定义完这个模型类,跑程序错误一:TypeError: column() got an unexpected keyword argument 'primary_key'主键问题,于是我试着先把主键删掉,再跑程序又出现了错误二:sqlalchemy.exc.ArgumentE...
2019-07-12 19:41:34 1172 5
原创 ERROR 1052 (23000): Column 'sal' in where clause is ambiguous
多表关联查询报错:ERROR 1052 (23000): Column 'sal' in where clause is ambiguous错误原因是: sal字段在两个表都出现过,数据库不知道查哪一个表可以看出sal字段在 a和c表中都出现过,所以sal前面你要指定哪个表。...
2019-07-12 11:27:33 1511
原创 mysql离散查询
现有如下表:在刚开始学习where子句的时候,我想查找薪水30000和8000是哪些人时,我首先想到的是select * from employee where sal=30000 and sal=8000;结果mysql返回空给我:错误原因是:我把where后面的条件分开来看,其实条件sal=30000 and sal=8000是一个整体,没有满足sal既等于30...
2019-07-11 11:49:37 813 1
原创 mysql中union学习总结
联合查询:把多个查询语句的查询结果结合在一起 主要用法:... union ... (去除重复) ...union all ... (不去重复) union查询注意事项:必须有两条或以上的select语句组成。 两个select语句查询结果的字段数必须一致。 用到order by排序时,需要对子句用括号括起来。我现有如下表employee:1、对于注意事项2进行实操:...
2019-07-11 11:42:25 128
原创 clause; this is incompatible with sql_mode=only_full_group_by
1、在使用group by时最常见的报错是:ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'xiaohong.employee.ename' which is not functionally dependent on co...
2019-07-09 17:46:51 842
原创 python中list()的使用
list()方法可以把字符串,列表,元组,字典转化为列表。字符串 >>> str = 'hello world'>>> b = list(str)>>> print(b)['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'] 列表 >>&g...
2019-07-08 21:02:30 2302 2
原创 管道符丨用法
使用管道操作符“|”可以把一个命令的标准输出传送到另一个命令的标准输入中,连续的|意味着第一个命令的输出为第二个命令的输入,第二个命令的输入为第一个命令的输出,依次类推。最常用的就是配合grep来使用:ps -ef |grep pycharmps是进程查看命令,其中-e为显示所有进程,-f为全格式显示。grep是一个非常高效的查询工具,可以查询文本中带有某关键字的行。这个命令...
2019-07-07 21:41:03 24815
原创 django中间件
一、中间件的引入现在我有一个需求,想要禁止某个IP登录我的网页,该怎么做呢?可以写登录装饰器但是当我有几十个网页的时候,还要在每个函数前添加装饰器吗? 这样是非常麻烦的,这时候我们可以用到中间件函数,这是django框架给我们预留的函数接口,让我们可以干预请求和应答过程。二、django中间件预留函数:https://yiyibooks.cn/xx/Django_1.11.6/topi...
2019-06-20 20:21:20 123
原创 csrf攻击防御
一、csrf概念CSRF(Cross-site request forgery),中文名称:跨站请求伪造。简单理解为:攻击者盗用了你的身份,以你的名义发送恶意请求。以你的名义发送邮件,盗取账号,购买商品等等.... 要完成一次CSRF攻击,受害者必须依次完成两个步骤: 1.登录正常网站A,浏览器保存了你的Cookie。 2.在不退出网站A的情况下,访问危险网站B。 ...
2019-06-14 17:41:13 143
原创 Django的html转义
一、html转义知识点在html模板上下文中的html标记默认是会被转义的。 关闭转义的两种方法:{{ 模板变量|safe }} {% autoescape off %} 模板变量 {% endautoescape %}二、代码演示视图函数def temp_escape(request): return render(request, 'mytemplat...
2019-06-13 21:11:17 405
原创 Django模板继承
一、模板继承页面共有的内容可以写在父模板中,子模板继承。 父模板中定义块{% block 块名%} 内容{% endblock 块名%}子模板继承父模板,格式:{% extends 父模板文件的路径 %}{% block 块名 %} {{ block.super }} # 获取父模板中的内容 重写的内容{% endblock 块名 %}二、...
2019-06-13 21:02:11 127
原创 自定义过滤器
一、自定义过滤器在应用下创建一个python的包,名字必须为templatetags,再在该包下创建一个python文件,名字随意(这里我用filters) 在该py文件下写过滤器代码,注意:创建Library的对象的名字必须为register,否则报错 使用该过滤器需要导入,格式为{% load filters %}二、遇到的问题'filters' is not a val...
2019-06-13 19:27:36 211
原创 Django下关于session的使用
一、Session的概念cookie是在浏览器端保存键值对数据,而session是在服务器端保存键值对数据 session的使用依赖cookie:在使用Session后,会在Cookie中存储一个sessionid的数据,每次请求时浏览器都会将这个数据发给服务器,服务器在接收到sessionid后,会根据这个值找出这个请求者的Session。二、Django中session的使用s...
2019-06-13 10:38:49 276
原创 Django下关于Cookie的使用
一、状态保持浏览器请求服务器是无状态的,下一次与访问一个页面时并不知道上一次对这个页面做了什么。 服务器默认不会保存用户的状态数据。 很多时候,服务器需要保存用户的一些状态数据,比如:用户是否登录过,用户浏览过哪些商品等,这时候可以使用cookie或者session二、Cookie概念Cookie是由服务器(网站)生成的,存储在浏览器端的键值对数据。 在响应请求时,服务器会把生成...
2019-06-12 18:27:18 841
原创 Django登录小案列(Ajax优化版)
一、Ajax基本概念异步JavaScript和XML,在不全部加载某一个页面的情况下,对页面进行局部刷新。注意:所有的Ajax请求都是在后台。二、Ajax请求过程发起ajax请求:jqeury发起 执行相应的视图函数,返回json数据 执行相应的回调函数,通过判断json内容进行相应处理 格式: $.ajax({ 'url': '请求地址', ...
2019-06-12 12:39:33 274
原创 Django登录小案例
一、request对象常用的属性:二、QueryDict对象:所在的包:django.http.QueryDict HttpRequest对象中的GET和POST属性 都是QueryDict类型 与python字典不同:QueryDict对象一个键可以保存多个值 get()方法:根据键获取值,如果一个键同时拥有多个值,将获取最后一个值;如果键不存在则返回None值...
2019-06-11 13:48:53 373
原创 自定义模型管理器类的使用
首先我们要明白经常使用的objects到底是什么?每一个模型类默认有一个objects属性,它是由django注定生成,我们把objects称为模型管理器。自定义管理器类的应用场景:改变查询的结果集,封装增删改查等方法 需要重写模型管理器中现有的方法注意:自定义模型管理器类之后,django不会自动再帮我们生成objects管理器。代码演示:class BookInfoM...
2019-06-05 11:48:30 594
原创 MVT小案列
1.创建模型类:from django.db import models# Create your models here.class BookInfo(models.Model): '''图书模型类''' title = models.CharField(max_length=20) pub_date = models.DateField() rea...
2019-05-30 17:34:55 232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人