自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

笑笑生的博客

本博客主要记录我在编程时的一些笔记、心得、工作总结等

  • 博客(46)
  • 问答 (1)
  • 收藏
  • 关注

原创 详细介绍如何使用Django的后台管理Admin

后台管理一个网站分为前台(普通用户访问)和管理后台(由网站管理员访问)两部分管理后台由网站的管理员负责查看、添加、修改、删除数据,开发这些重复的功能是一件单调乏味、缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块 使用Django的管理模块,需要按照如下步骤操作管理界面本地化创建管理员注册模型类自定义管理页面操作演示:1)本地化 (语言和时区)修改settings.py文...

2018-06-19 00:13:57 36027 6

原创 flask路由的各种定义方式

路由的各种定义方式请求方式限定使用 methods 参数指定可接受的请求方式,可以是多种@app.route('/',methods=['GET'])def hello(): return '<h1>hello world</h1>'路由查找方式同一路由指向两个不同的函数,在匹配过程中,至上而下依次匹配@app.route('/')...

2018-06-01 17:34:37 7492

原创 Flask-SQLALchemy基本使用

数据库基本操作在Flask-SQLAlchemy中,插入、修改、删除操作,均由数据库会话管理。会话用db.session表示。在准备把数据写入数据库前,要先将数据添加到会话中然后调用commit()方法提交会话。数据库会话是为了保证数据的一致性,避免因部分更新导致数据不一致。提交操作把会话对象全部写入数据库,如果写入过程发生错误,整个会话都会失效。数据库会话也可以回滚,通过db.ses...

2018-06-01 17:30:22 18649

原创 restful 返回204状态,前端一直loading

问题:flask_restful 架构,请求方法PUT、DELETE会返回 内容为空字符串 状态码204('', 204),本地环境正常,线上环境会一直loading,大概30秒后才有结果,把空字符串改为None也不行,204改回201就正常了原因:204 No Content,接口返回了空字符串导致Content-Length不为0,引起异常,但是flask_restful用法里面 return 时内容是第一个位置参数,状态码是第二个位置参数,所以必须先传内容才能传状态码解决方法:..

2021-01-21 19:50:26 2889

原创 python给pdf右上角盖章

# function:给pdf添加水印、公章from PyPDF2 import PdfFileWriter, PdfFileReader# 所有路径为绝对路径def add_watermark(pdf_file_in, pdf_file_mark, pdf_file_out): pdf_output = PdfFileWriter() pdf_input = PdfFileReader(open(pdf_file_in, 'rb')) # # PDF文件被加密了 .

2020-12-02 18:49:25 2279 2

原创 Cloud Foundry应用操作流程

当购买了 MindSphere tenant 之后, 会收到一封邮件, 大致内容如下图: 对应的 tenant 名字以自己的为准, 不会是下面的”supplab1”, 而且地址也不是”https://supplab1.cn1.mindsphere-in.cn”. 之后, 便可以通过此 URL 登录 MindSphere, 部署、注册 Cloud Foundry 应用.1. 登录 MindSphere 通过访问 https://supplab1.cn1.mindsphere-in...

2020-09-04 16:15:09 2041

原创 调用部署在 MindSphere 中的 app 暴露的 APIs

目录:1. Cloud Foundry App1.1. Session1.1.1. JS 代码调用示例1.1.2. 通过第三方工具 postman 调用测试验证 API1.2. User Token1.3. Technical User1.4. App Credential1.4.1. 应用凭证介绍1.4.2. APP 与 Token Management Service 置换token1.4.3. 应用凭证的应用流程1.4.4. 应用凭证生成 token...

2020-09-04 15:34:28 845

转载 MindSphere On Cloud Foundry的一次尝试过程

MindSphere On Cloud Foundry的一次尝试过程转载:https://www.cnblogs.com/quchunhui/p/12024493.html试验背景:开始时间:2019年12月11日结束时间:2019年12月13日最后一次更新:2020年4月30日(问题三)自己编写一个后台程序,尝试推送到Cloud Foundry上,并开放从MindSphere以外访问的权限。程序实现以下功能:1、使用MindSphere提供的API获得指定时序的..

2020-08-17 10:11:44 1055 2

原创 python使用redis及命令详细介绍

在python中,要操作redis,目前主要是通过一个python-redis模块来实现1、在python中安装redis模块1 pip3 install redis2、在python中使用redis  跟其他模块一样,在安装好redis模块后,要使用redis模块就要先导入。python连接redis数据库:1 #!/usr/bin/env python2 # -- coding:utf8 --34 import redis56 ‘’’7 这种连接是连接一次就断了,耗资源.端口默认

2020-08-06 12:09:01 871

转载 通过SECRET_KEY绕过flask的session认证

转载:https://www.secpulse.com/archives/97707.html前言最近读到一篇英文文章,甚是有趣,所以想把关键内容提取并翻译出来,记录自己学习的同时也方便他人阅读,原文地址。0x00 漏洞细节一般来说,安全的session存储,客户端的cookie应该是不可读的,但flask的cookie却不完全是这样,这里直接贴原作者的图。通过.隔开的3段内容,第一段其实就是base64 encode后的内容,但去掉了填充用的等号,若decode失败,自己需..

2020-07-24 10:04:31 4093

转载 MySQL null、not null、空值‘‘的区别

相信很多用了MySQL很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问:我字段类型是not null,为什么我可以插入空值为毛not null的效率比null高判断字段不为空的时候,到底要 select * from table where column <> '' 还是要用 select * from table wherecolumn is not null 呢。带着上面几个疑问,我们来深入研究一下null 和 not null 到底有什么不一样。首先,我们要搞清楚

2020-07-03 17:48:26 183

转载 sql优化

转载链接:https://www.jianshu.com/p/2bca7e9c2ad0在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已。图-MySQL查询过程1优化的哲学注:优化有风险,涉足需谨慎a优化可能带来的问题?优化不总是对一个单纯的环境进行,还很可能是一个复杂的已投产的系统;优化手段本来就有很大的风险,只不过你没能力意识到和预见到;任何的技术可以解决一个问题,但必然存在带来一

2020-06-16 15:33:21 254

原创 详解python logging 模块发邮件

工作中需要及时解决线上的 bug,所以,及时获取 log 中的 warning,error 是非常有必要的,在查找资料的过程中发现了logging.handlers.SMTPHandler可以实现日志发送到邮件,通过简单的配置就可以使用,不必自己再烦心重写。1、SMTPHandler默认情况下不支持SMTPSimport loggingimport logging.handlersdef get_logger(logger_name, logger_level, logger_loc.

2020-06-10 15:52:14 950

原创 nginx和uwsgi日志分割

一、nginx日志分割方法一:只需要在server配置中,配置一个脚本即可,目前这个是定义了日,可以定义到秒。set多添加几个参数即可 server { listen 80 default_server; root "/app/www/public"; if ($time_iso8601 ~ "(\d{4})-(\d{2})-(\d{2})") { ...

2020-06-08 17:23:33 481

转载 No module named flask.ext

引入flask_cache时出现ModuleNotFoundError: No module named 'flask.ext'环境:centos 7.3 python 3.6 flask 1.0.2 flask-cache 0.13.1引入flask_cache后运行时,出现以下错误Traceback (most recent call last): File "manager.py", line 5, in <module> app = create_app

2020-06-08 16:16:34 1560

转载 如何确保线程安全

cpu在同一时刻执行多个任务。而Java并发则由多线程实现的。在jvm的世界里,线程就像不相干的平行空间,串行在虚拟机中,那么java如何保证线程安全?说到线程安全,首先简单了解一下多线程:多线程充分利用CPU资源,为了提高CPU的使用率,采用多线程的方式去同时完成几件事情而不互相干扰。要了解多线程,首先要了解串行和并行的概念,这样才能更好地理解多线程。串行串行其实是相对于单条线程来...

2019-12-19 11:12:31 1779

转载 python 程序内存监控

安装memory_profiler 1 pip install-U memory_profiler 用@profile修饰需要查看内存的函数 1 2 3 4 5 6 7 @profile defmain(): obj=[] f...

2019-12-18 16:31:30 867

原创 网站埋点(百度统计)

网站埋点,看数据分析,可以直接用百度统计,功能非常全,自己重新开发一个的话,费时费力,没必要。https://tongji.baidu.com/web/welcome/basicdemo演示使用教程1、注册登录2、登录后新增你的网站3、安装代码,把这段代码加到网站全部页面的标签前。如果代码安装正确,一般20分钟后,可以查看网站分析数据。4. 代码检测最后等20分钟据可以看...

2019-12-05 10:52:15 1910

转载 什么是微服务以及微服务的技术点

一、微服务介绍1. 什么是微服务 在介绍微服务时,首先得先理解什么是微服务,顾名思义,微服务得从两个方面去理解,什么是"微"、什么是"服务", 微 狭义来讲就是体积小、著名的"2 pizza 团队"很好的诠释了这一解释(2 pizza 团队最早是亚马逊 CEO Bezos提出来的,意思是说单个服务的设计,所有参与人从设计、开发、测试、运维所有人加起来 只需要2个披萨就够了 )。 而所谓服...

2019-11-20 14:48:34 470

转载 docker commit详解

利用 commit 理解镜像构成注意:docker commit命令除了学习之外,还有一些特殊的应用场合,比如被入侵后保存现场等。镜像是多层存储,每一层是在前一层的基础上进行的修改;而容器同样也是多层存储,是在以镜像为基础层,在其基础上加一层作为容器运行时的存储层。现在让我们以定制一个 Web 服务器为例子,来讲解镜像是如何构建的。$ docker run --name we...

2019-11-06 11:51:46 36782 4

原创 安装rdkafka、pykafka

安装rdkafkayum -y update gccyum -y install gcc+ gcc-c++git clone https://github.com/edenhill/librdkafka.gitcd librdkafka/./configuremake&& make install默认是把动态库安装到/usr/local/lib下的,所以...

2019-11-06 11:04:24 1359

原创 Python 导包问题

报错如下:在同级目录里面文件dealer导入另一个文件dealerloginHistory的一个类DealerLoginHistory在dealerloginHistory文件里面并没有导入dealer文件,所以不可能是循环导包问题     难道是导包方式不对?我又改成:from . import DealerLoginHistory然后试了一下,还是一样的异常...

2019-02-18 11:59:15 403

原创 django的CSRF防护

CSRF防护一、什么是CSRF?CSRF: Cross-site request forgery,跨站请求伪造用户登录了正常的网站A, 然后再访问某恶意网站,该恶意网站上有一个指向网站A的链接,那么当用户点击该链接时,则恶意网站能成功向网站A发起一次请求,实际这个请求并不是用户想发的,而是伪造的,而网站A并不知道。攻击者利用了你的身份,以你的名义发送恶意请求,比如:以你名义发送邮件,发消息,盗取你...

2018-06-28 19:31:36 495

原创 django模板语言使用

模板功能作用:生成html界面内容,模版致力于界面如何显示,而不是程序逻辑。模板不仅仅是一个html文件,还包括了页面中的模板语言。静态内容:css,js,html。动态内容:通过模板语言,动态生成一些网页内容模板使用: 在视图函数中,使用模板产生html内容返回给客户端方式一:加载模板文件(loader.get_template)模板渲染,产生标准的html页面内容(render)通过HttpR...

2018-06-28 19:06:47 3369

原创 Django的静态文件使用/中间件/禁用ip

静态文件一、静态文件的使用静态文件:网页中使用的css,js,图片静态文件的使用:在项目下创建静态目录,比如:static,导入静态文件(HTML、CSS、js)在setting.py中配置静态目录# 通过此url来引用静态文件,可以隐藏服务器的文件的实际保存目录STATIC_URL = '/abc/'# 指定静态文件所在的物理目录STATICFILES_DIRS = [os.path.j...

2018-06-28 18:17:56 1145

原创 Django视图(cookie/session)使用(二)

HttpRequest对象当请求一个页面时,Django会把请求数据包装成一个HttpRequest对象,然后调用对应的视图函数,把这个HttpRequest对象作为第一个参数传给视图函数。AttributeDescriptionpath请求页面的全路径,不包括域名端口参数。例如: "/music/bands/beatles"method一个全大写的字符串,表示请求中使用的HTTP方法。常用值:‘...

2018-06-28 17:44:00 1354

原创 Django的视图介绍与使用

视图视图:即一个python函数,可以叫 视图函数,或者简称 视图,定义在 应用/views.py 文件中。作用:接收并处理请求,调用M和T,响应请求(返回HttpResponse或其子类)每一个用户请求,都对应着一个视图(和url地址),由视图处理请求后,再返回html页面内容给浏览器显示。URL配置及匹配作用:建立url地址和视图函数的对应关系,当用户请求某个url地址时,让django能找到...

2018-06-20 18:29:16 4025

原创 网站性能

一、不同角度的网站性能 普通用户认为的网站性能 网站性能对于普通用户来说,最直接的体现就是响应时间。用户在浏览器上直观感受到的网站响应速度,即从客户端发送请求,到服务器返回响应内容的时间。 做为网站开发人员来说,网站性能通常会和普通的用户理解的不一样。 普通用户感受到的网站性能,并不只是由网站服务器决定的。它还包括客户端计算机和服务器通信的时间,网站服务器处理响应的时间,客户端浏览器构造请求解析...

2018-06-19 08:43:38 1299

原创 Django自定义模型管理器与元选项

自定义模型管理器每个模型类默认都有一个 objects 类属性,可以把它叫 模型管理器。它由django自动生成,类型为 django.db.models.manager.Manager可以在模型类中自定义模型管理器,自定义后, Django将不再生成默认的 objects。(模型类可以自定义多个管理器)例如:class Department(models.Model): # 自定义模型管...

2018-06-19 00:58:28 713

原创 Django模型使用(进阶版)

orm支持使用不同的数据库,可以通过方便的配置,切换使用不同的数据库。django项目默认使用的是sqlite3小型数据库, 我们可以如下操作,把它修改为使用mysql数据库:Django配置使用mysql数据库:修改settings.py中的DATABASES。# Project01/setting.pyDATABASES = { 'default': { # 'ENG...

2018-06-19 00:40:08 759

原创 Django的模型简单介绍与使用

ORM介绍ORM Object relational mapping 对象关系映射把面向对象中的类和数据库表一一对应起来,通过操作类和对象,对数据库表实现数据的增删改查等操作,而不需要写SQL语句(由orm框架生成)Django是实现了ORM的一个框架,在django项目与数据库之间起着桥梁的角色。使用ORM可以通过方便的配置,切换使用不同的数据库使用django进行数据库开发的步骤如下:在mod...

2018-06-18 21:38:44 769

原创 详细介绍MVC与Django的MVT模式

Django由python实现的,开源的,Web开发框架起初被开发来用于管理劳伦斯日报(Lawrence Journal-World)旗下的新闻内容网站2005年7月在BSD许可协议下发布Django是一个比利时音乐家的名字注重 代码复用,强调DRY原则(don't repeat yourself),可以帮助开发者快速地创建复杂的网站MVC模式MVC: Model-View-Controller ...

2018-06-18 21:05:50 18952 3

原创 Flask中的request、请求钩子、上下文

request就是flask中代表当前请求的request对象:常用的属性如下:属性 说明 类型 data 记录请求的数据,并转换为字符串 * form 记录请求中的表单数据 MultiDict args 记录请求中的查询参数 MultiDict cookies 记录请求中的cookie信息...

2018-06-01 17:41:21 2539

原创 单元测试

为什么要测试?Web程序开发过程一般包括以下几个阶段:[需求分析,设计阶段,实现阶段,测试阶段]。其中测试阶段通过人工或自动来运行测试某个系统的功能。目的是检验其是否满足需求,并得出特定的结果,以达到弄清楚预期结果和实际结果之间的差别的最终目的。测试的分类:测试从软件开发过程可以分为:单元测试、集成测试、系统测试等。在众多的测试中,与程序开发人员最密切的就是单元测试,因为单元测试是由开发人员进行的...

2018-06-01 17:22:22 581 1

原创 Restful设计风格

2000年,Roy Thomas Fielding博士在他的博士论文《Architectural Styles and the Design of Network-based Software Architectures》中提出了几种软件应用的架构风格,REST作为其中的一种架构风格在这篇论文中进行了概括性的介绍。REST:Representational State Transfer的缩写,翻译...

2018-06-01 17:16:08 226

原创 正则表达式

一、 正则表达式概述    1. 作用:      1. 数据抓取,数据的清理 : 在网上抓取图片,清除网站中不雅的评论 2. 数据验证,比如验证邮箱的合法性,手机号码的合法性 ,11位数字    2. 特点:通用性,跨语言     主流语言都有正则表达式,而且表达式的规则都几乎相同的 二、 re模块   提示: 命令行: ctrl+e :到命令行的尾部                    ...

2018-05-21 11:55:17 1344

原创 linux基本使用二

 linux命令基本使用 1. 重定向命令  Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中 a&gt; 重定向命令1 &gt;    ls &gt; files1.txt      1. 把当前显示的目录和文件信息重定向到filess1.txt文件中     无则创建,有则打开,且是覆盖的模式 b&gt; 重定向命令2 &gt;&gt;   ...

2018-05-21 11:38:01 392

原创 linux基本使用一

 linux命令的基本使用 1. 为什么使用linux命令 a&gt; 像黑客一样,高大上 b&gt; 命令比图形界面更快,功能更全 c&gt; 对于linux的管理和维护都是通过远程终端来实现的,而远程终端都是用命令来操作的 d&gt; 不好命令,就不好linux 2. linux命令体验 1. ls: 查看目录和文件 2. pwd:查看当前目录的绝对路径 3. cd :切换目录 ...

2018-05-21 11:33:36 273

原创 常见问题__数据库、网络

本文借鉴了http://python.jobbole.com/85231/,然后总结了自己的见解数据库1 事务(ACID)数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。原子性(Atomic):事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。一致性(Consistent):事务在完成时,必须...

2018-05-19 12:43:41 691

转载 python常见问题__操作系统

1 select,poll和epoll其实所有的I/O都是轮询的方法,只不过实现的层面不同罢了.这个问题可能有点深入了,但相信能回答出这个问题是对I/O多路复用有很好的了解了.其中tornado使用的就是epoll的.selec,poll和epoll区别总结基本上select有3个缺点:连接数受限查找配对速度慢数据由内核拷贝到用户态poll改善了第一个缺点epoll改了三个缺点.关于epoll的:...

2018-05-19 12:22:11 294

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除