自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 十、css 之 flex(弹性盒)

1.flex 弹性盒flex(弹性盒、伸缩盒)是CSS中的又一种布局手段,它主要用来代替浮动来完成页面的布局flex可以使元素具有弹性,让元素可以跟随页面的大小的改变而改变弹性容器要使用弹性盒,必须先将一个元素设置为弹性容器,我们通过 display 来设置弹性容器display:flex 设置为块级弹性容器display:inline-flex 设置为行内的弹性容器弹性元素弹性容器的直接子元素是弹性元素(弹性项)(间接的子元素不是)弹性元素可以同时是弹性容器,可以有

2020-11-22 23:07:10 395

原创 九、less

1.less的简介less是一门css的预处理语言, less是一个css的增强版,通过less可以编写更少的代码实现更强大的样式在less中添加了许多的新特性:像对变量的支持、对mixin的支持… …法大体上和css语法一致,但是less中增添了许多对css的扩展,所以浏览器无法直接执行less代码,要执行必须向将less转换为css,然后再由浏览器执行css原生也支持变量的设置语法:–color:#ff0;使用方法: var(–color);calc()计算函数width: cal

2020-11-22 23:06:30 149

原创 八.CSS之animation(动画)

1. 过渡过渡(transition)通过过渡可以指定一个属性发生变化时的切换方式通过过渡可以创建一些非常好的效果,提升用户的体验1.1 transition-property: 指定要执行过渡的属性​ 多个属性间使用,隔开​ 如果所有属性都需要过渡,则使用all关键字​ 大部分属性都支持过渡效果,注意过渡时必须是从一个有效数值向另外一个有效数值进行过渡(auto不是有效数值,过渡动画效果不会生效)

2020-11-22 23:05:53 381

原创 七 .Html的表格

1.表格owspan 纵向的合并单元格colspan 横向的合并单元格<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

2020-11-22 23:05:12 87

原创 六. CSS 样式补充之 font & background

1.字体font-face可以将服务器中的字体直接提供给用户去使用问题:1.加载速度2.版权3.字体格式@font-face { 命名一个自己的字体/* 指定字体的名字 /font-family:‘myfont’ ; /也可以是电脑自带的字体// 服务器中字体的路径 */src: url(’./font/ZCOOLKuaiLe-Regular.ttf’) format(“truetype”);font-family: myfont; 引用字体字体相关的样式color 用

2020-11-22 23:04:25 165

原创 五. css 布局之 position(定位)

1.定位的简介定位(position)定位是一种更加高级的布局手段通过定位可以将元素摆放到页面的任意位置使用position属性来设置定位可选值:static 默认值,元素是静止的没有开启定位relative 开启元素的相对定位absolute 开启元素的绝对定位fixed 开启元素的固定定位sticky 开启元素的粘滞定位相对定位:当元素的position属性值设置为relative时则开启了元素的相对定位相对定位的特点:1.元素开启相对定位以后,如果不设

2020-11-22 23:03:43 205

原创 四. css 布局之 float

1. float 简介通过浮动可以使一个元素向其父元素的左侧或右侧移动使用 float 属性来设置于元素的浮动:可选值:none 默认值 ,元素不浮动left 元素向左浮动right 元素向右浮动注意:元素设置浮动以后,水平布局的等式便不需要强制成立元素设置浮动以后,会完全从文档流中脱离,不再占用文档流的位置,所以元素下边的还在文档流中的元素会自动向上移动浮动的特点:1、浮动元素会完全脱离文档流,不再占据文档流中的位置2、设置浮动以后元素会向父元素的左侧或右侧移动,3、

2020-11-22 23:02:46 81

转载 学习笔记(1):Python框架Flask教程+图书借阅小程序flask项目实战-微信小程序 简介...

Flask是一个使用 Python 编写的轻量级 Web 应用框架,由于丰富的第三方资源组件,受到了很大的青睐,3天就能搭建一个功能齐全的网站,Flask不但是个人网站的佳选择,也在很多复杂的企业级网站中使用,应越广泛。 本教程是由IT兄弟连名师伊川老师课堂实录,本教程从最基础的知识讲起,到最后项目的讲解,深入浅出,老师讲课风格也非常赞,深受学员的点赞和好评! ...

2020-10-24 23:19:56 270

原创 三. CSS layout(布局)

1.文档流(normal flow)网页是一个多层的结构,一层摞着一层,通过CSS可以分别为每一层来设置样式,作为用户来讲只能看到最顶上一层,这些层中,最底下的一层称为文档流,文档流是网页的基础, 我们所创建的元素默认都是在文档流中进行排列,对于我们来元素主要有两个状态:在文档流中不在文档流中(脱离文档流)元素在文档流中有什么特点:块元素块元素会在页面中独占一行(自上向下垂直排列)默认宽度是父元素的全部(会把父元素撑满)默认高度是被内容撑开(子元素)行内元素行内元素不会独

2020-10-24 18:42:48 1103

原创 二、css3基础

1. css文件在网页内的引入 方法<link rel = “stylesheet” href = “”>2. 选择器1.元素选择器: p div body h1 等,根据元素的标签名来2.Id 选择器:给元素分配一个id不能重复 以 #开头<style type="text/css"> .red{ color: red; } /*复合选择器,通过标签+类选择器来完成特定的效果*/ div.red{ font-size: 50px

2020-10-24 18:42:16 85

原创 一、html 基础

1. vs code插件Live server 用于直接浏览器中进行预览2.实体指的是以 &开头的一些特殊字符,如空格,等3.meta设置元数据,网页与生俱来的,不是给用户看的常用的属性:1.Name:指定名称2.Content:指定内容3.charset : 设置字符集4.keywords :网站的关键字,可以同时指定多个关键字,中间用逗号隔开5.http-equiv=refresh content=“3;url=””” 页面重定向4. 标签1.Hgroup:对

2020-10-24 18:41:35 93

原创 django-xadmin后台首页添加小组件报错解决

前言xadmin首页上有个添加小组件按钮,打开的时候会报错“render() got an unexpected keyword argument ‘renderer’”环境:python3.6django 2.1.2xadmin 2遇到问题在xadmin后台首页点“添加小组件”,出现报错:“render() got an unexpected keyword argument ‘renderer’”解决办法找到xadmin/views/dashboard.py,大概在36行的位

2020-10-24 18:39:55 335

原创 Django学习第十五讲: 项目部署上线操作相关

1.购买云服务器并进行端口设置端口范围80/803306/33066379/637923/23443/43322/2280/803389/33892.通过nginx+uwsgi让项目运行在线上Nginx默认是80端口3.安装Python3.7安装依赖包yum install opensll-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ opens

2020-10-24 18:39:20 201

原创 Django学习-第十四讲:文件上传、cookie、session、memcached

1. 文件上传1.1 前端HTML代码实现1.在前端中,我们需要填入一个form标签,然后在这个form标签中指定enctype="multipart/form-data",不然就不能上传文件。2.在form标签中添加一个input标签,然后指定input标签的name,以及type="file"。<form action="" method="post" enctype="multipart/form-data"> <input type="file" name="myf

2020-10-24 18:38:48 116

原创 Django学习-第十三讲(下):表单(一)forms.form、forms.modelform

1. html表单和django中的表单的区别HTML中的表单:单纯从前端的html来说,表单是用来提交数据给服务器的,不管后台的服务器用的是Django还是PHP语言还是其他语言。只要把input标签放在form标签中,然后再添加一个提交按钮,那么以后点击提交按钮,就可以将input标签中对应的值提交给服务器了。Django中的表单Django中的表单丰富了传统的HTML语言中的表单。在Django中的表单,主要做以下两件事渲染表单模板。表单验证数据是否合法。2.Djan

2020-10-24 18:38:17 864 2

原创 Django学习-第十三讲(上):视图高级(三)错误处理

1. 错误处理在一些网站开发中。经常会需要捕获一些错误,然后将这些错误返回比较优美的界面,或者是将这个错误的请求做一些日志保存。1.1 常用的错误码404:服务器没有指定的url。403:没有权限访问相关的数据。405:请求的method错误。400:bad request,请求的参数错误。500:服务器内部错误,一般是代码出bug了。502:一般部署的时候见得比较多,一般是nginx启动了,然后uwsgi有问题1.2 自定义错误模板在碰到比如404,500错误的时候,想要返回自己定义的

2020-10-24 18:37:47 74

原创 Django学习-第十二讲:视图高级(二)类视图、模板视图、列表视图、和分页

1. 类视图在写视图的时候,Django除了使用函数作为视图,也可以使用类作为视图。使用类视图可以使用类的一些特性,比如继承等。1.1 Viewdjango.views.generic.base.View是主要的类视图,所有的类视图都是继承自他。如果我们写自己的类视图,也可以继承自他。然后再根据当前请求的method,来实现不同的方法。比如这个视图只能使用get的方式来请求,那么就可以在这个类中定义get(self,request,*args,**kwargs)方法。以此类推,如果只需要实现post

2020-10-24 18:37:18 245

原创 Django学习-第十一讲(下):视图高级(一)网页请求限制、HttpRequest、HttpResponse、JsonResponse对象

1. 网页常用的请求method1.GET请求:GET请求一般用来向服务器索取数据,但不会向服务器提交数据,不会对服务器的状态进行更改。比如向服务器获取某篇文章的详情。2.POST请求:POST请求一般是用来向服务器提交数据,会对服务器的状态进行更改。比如提交一篇文章给服务器。2. 限制请求装饰器Django内置的视图装饰器可以给视图提供一些限制。比如这个视图只能通过GET的method访问等。以下将介绍一些常用的内置视图装饰器1.django.views.decorators.

2020-10-24 18:36:15 252

原创 Django学习-第十一讲(上):ORM迁移命令

1.迁移命令要想执行命令,一定要进入到相应的项目目录中再进行操作,否则会执行失败1.1.makemigrations:将模型生成迁移脚本。模型所在的app,必须放在settings.py中的INSTALLED_APPS中。这个命令有以下几个常用选项:app_label:后面可以跟一个或者多个app,那么就只会针对这几个app生成迁移脚本。如果没有任何的app_label(也就是app的名字),那么会检查INSTALLED_APPS中所有的app下的模型,针对每一个app都生成响应的迁移脚本。

2020-10-13 20:50:57 416

原创 Django学习-第十讲(下):ORM练习

练习:假设有以下ORM模型from django.db import modelsclass Student(models.Model): """学生表""" name = models.CharField(max_length=100) gender = models.SmallIntegerField() class Meta: db_table = 'student'class Course(models.Model): """课程表

2020-10-13 20:50:23 145

原创 Django学习-第十讲(上):QuerySet API 学习

1. QuerySet API我们通常做查询操作的时候,都是通过模型名字.objects的方式进行操作。其实模型名字.objects是一个django.db.models.manager.Manager对象,而Manager这个类是一个“空壳”的类,他本身是没有任何的属性和方法的。他的方法全部都是通过Python动态添加的方式,从QuerySet类中拷贝过来的 所以我们如果想要学习ORM模型的查找操作,首先要学会QuerySet上的一些API的使用。2. QuerySet的方法在使用QuerySet

2020-10-13 20:49:52 192

原创 Django学习-第九讲:聚合函数,F、Q表达式

1. 聚合函数如果你用原生SQL,则可以使用聚合函数来提取数据。比如提取某个商品销售的数量,那么可以使用Count,如果想要知道商品销售的平均价格,那么可以使用Avg。聚合函数是通过aggregate方法来实现的。from django.db import modelsclass Author(models.Model): """作者模型""" name = models.CharField(max_length=100) age = models.IntegerField

2020-10-13 20:49:10 263

原创 Django学习-第八讲:django ORM数据库查询,修改等操作

1.查询操作查找是数据库操作中一个非常重要的技术。查询一般就是使用filter、exclude以及get三个方法来实现。我们可以在调用这些方法的时候传递不同的参数来实现查询需求。在ORM层面,这些查询条件都是使用field+__+condition的方式来使用的。1.1.查询条件1 .exact使用精确的=进行查找。如果提供的是一个None,那么在SQL层面就是被解释为NULLarticle = Article.objects.get(id__exact=14)article = Artic

2020-10-13 20:48:49 177

原创 Django学习-第七讲:django 中的常用字段、字段属性,外键和表关系、外键操作

1. django中的常用字段1. AutoField映射到数据库中是int类型,可以有自动增长的特性。一般不需要使用这个类型,如果不指定主键,那么模型会自动的生成一个叫做id的自动增长的主键。如果你想指定一个其他名字的并且具有自动增长的主键,使用AutoField也是可以的。2. BigAutoField64位的整形,类似于AutoField,只不过是产生的数据的范围是从1-9223372036854775807。3. BooleanField在模型层面接收的是True/False。在数据库层

2020-10-13 20:47:06 1391

原创 Django学习-第六讲(下):django数据库的ORM操作方法及常用字段

1.ORM模型介绍随着项目越来越大,采用写原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现了:1.SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长。会出现很多相近的SQL语句。2.很多SQL语句是在业务逻辑中拼出来的,如果有数据库需要更改,就要去修改这些逻辑,这会很容易漏掉对某些SQL语句的修改。3.写SQL时容易忽略web安全问题,给未来造成隐患。SQL注入。select * from user where username = 'zjk'#' and pass

2020-10-13 20:46:31 170

原创 Django学习-第六讲(上):Django数据库原生的方法操作

1.MySql 驱动程序安装我们使用Django来操作MySQL,实际上底层还是通过Python来操作的。因此我们想要用Django来操作MySQL,首先还是需要安装一个驱动程序。在Python3中,驱动程序有多种选择。比如有pymysql以及mysqlclient等。这里我们就使用mysqlclient来操作。mysqlclient安装非常简单。只需要通过 pip install mysqlclient 即可安装。如果安装失败,我们可以到 离线的python库的网站中找到我们需要的相对应的版本,下载下来

2020-10-13 20:45:55 117

原创 Django学习-第五讲:模板中静态文件的加载

1. 静态文件一个网站中除了正常的html页面之外,还有相应的样式,以及js等其他的文件,我们把除了html网页外的文件称之为静态资源文件,下面我们介绍一下怎么在django中去加载静态资源文件1.1 加载静态资源文件第1种方法:static标签 {% load static %}在一个网页中,不仅仅只有一个html骨架,还需要css样式文件,js执行文件以及一些图片等。因此在DTL中加载静态文件是一个必须要解决的问题。在DTL中,使用static标签来加载静态文件。要使用static标签,首先需要{

2020-10-13 20:45:21 304

原创 使用 django-simple-captcha 的方法

InstallationInstall django-simple-captcha via pip: pip install  django-simple-captchaAdd captcha to the INSTALLED_APPS in your settings.pyRun python manage.py migrateAdd

2020-10-13 20:44:41 308

原创 python数据分析-第一讲:工作环境及本地数据文件

1.数据分析工作准备环境1.1数据分析基本概念1.用适当的统计分析方法对收集来的大量数据进行分析2.提取有用信息和形成结论3.对数据加以详细研究和概况总结目的:从数据中挖掘规则、验证猜想、进行预测1.2数据分析的流程明确目的(提出问题)->准备数据->数据解析->分析数据->获得结论->成果可视化1.3 为什么要学习数据分析1.有岗位需要...

2019-08-22 14:54:20 211

原创 Django学习-第四讲 Django 模板常用过滤器及模板及结构优化

1. 模版常用过滤器在模版中,有时候需要对一些数据进行处理以后才能使用。一般在Python中我们是通过函数的形式来完成的。而在模版中,则是通过过滤器来实现的。过滤器使用的是|来使用。add将传进来的参数添加到原来的值上面。这个过滤器会尝试将值和参数转换成整形然后进行相加。如果转换成整形过程中失败了,那么会将值和参数进行拼接。如果是字符串,那么会拼接成字符串,如果是列表,那么会拼接成一个列表。...

2019-08-22 14:53:15 146

原创 Django学习-第三讲(下) Django 模板变量和常用标签

1.DTL模板变量使用语法模板中可以包含变量,Django在渲染模板的时候,可以传递变量对应的值过去进行替换。变量的命名规范和Python非常类似,只能是阿拉伯数字和英文字符以及下划线的组合,不能出现标点符号等特殊字符。变量需要通过视图函数渲染,视图函数在使用render或者render_to_string的时候可以传递一个context的参数,这个参数是一个字典类型。模板中接收变量的时候 使用...

2019-08-22 14:52:44 179

原创 Django学习-第三讲(上) 初识Django 模板

1.模板介绍在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中其实很少这样用,因为实际的页面大多是带有样式的HTML代码,这可以让浏览器渲染出非常漂亮的页面。DTL是Django Template Language三个单词的缩写,也就是Django自带的模板语言。当然也可以配置Django支持Jinja2等其他模板引擎,但是作为Django内置的模板语言,和Django可以达到无缝衔接...

2019-08-22 14:52:08 96

原创 Django学习-第二讲 DjangoURL与视图

1.视图的概念视图一般都写在app的views.py中,一个app我们可以看作是一个网站中的一个模块。并且视图的第一个参数永远都是request(一个HttpRequest)对象。这个对象存储了请求过来的所有信息,包括携带的参数以及一些头部信息等。在视图中,一般是完成逻辑相关的操作。比如这个请求是添加一篇博客,那么可以通过request来接收到这些数据,然后存储到数据库中,最后再把执行的结果返回...

2019-08-19 13:24:27 183

原创 Django学习-第一讲(下) Django框架介绍与环境搭建

1.Django框架介绍Django也遵循MVC思想,但是有自己的一个名词,叫做MVTDjango,发音为[`dʒæŋɡəʊ],Django诞生于2003年秋天,2005年发布正式版本,由Simon和Andrian开发。2.Django版本和Python版本的选择参考地址: https://docs.djangoproject.com/zh-hans/2.1/faq/3.Django开...

2019-08-19 13:23:12 153

原创 Django学习-第一讲(上) 虚拟环境

1.虚拟环境1.1为什么要用虚拟环境我们之前安装的库基本都是通过pip直接安装到全局环境中的,但是如果我们不同的项目需要用到不同的库,以及不同项目中用到同个库的不同版本,就会导致项目之间的环境不兼容,以django为例:如果你现在用Django 1.10.x写了个网站,然后你的领导跟你说,之前有一个旧项目是用Django 0.9开发的,让你来维护,但是Django 1.10不再兼容Djang...

2019-08-19 13:22:39 131

原创 python高级编程第六讲:socket编程-TCP

1.TCP介绍TCP协议,传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议.TCP通信需要经过创建连接、数据传送、终止连接三个步骤。TCP通信模型中,在通信开始之前,一定要先建立相关连接,才能发生数据。2.TCP特点1.面向连接通信双方必须先建立连接才能进行数据的传输2.可靠传输TCP采用发送应答机制超时重传错误校验流量控制和阻塞管理...

2019-07-25 19:44:32 362

原创 python高级编程第五讲:socket编程-udp

1. IP地址目的:用来标记网络上的一台电脑1.1 windows和Linux查看网卡信息1 Linux中 ifconfig2 windows中 ipconfig1.2 IP地址的分类ip v4ip v62.端口端口是为电脑中每个程序分配的一个运行的id用来标识这个程序*2.1 端口的分类 *1.知名端口(well known ports)如:80端口分配...

2019-07-25 19:43:55 401

原创 python 基础知识第12讲:匿名函数、闭包、装饰器

1. 匿名函数lambda表达式lambda函数表达式专门用来创建一些简单的函数,它是函数创建的另外一种方式是一种语法糖,一般用来完成比较简单的功能,复杂功能还需要写常规的函数。匿名函数一般都是作为参数使用,其他地方一般不用语法 lambda 参数列表[a,b,c…] : 返回值例:(lambda a,b : a+b)(10,20)我们来看下面一下代码案例:def fn5(...

2019-07-24 15:42:16 126

原创 python 基础知识第11讲:函数的返回值、作用域、命名空间、递归、高级函数

1.函数的返回值第一个案例:# 求任意数的和# 可以通过return 来指定函数的返回值def fn(*nums): # 定义一个变量来保存结果 result = 0 # 遍历元组 并将元组中的元素累加 for n in nums: result += n # print(result) return resultr = f...

2019-07-23 22:19:42 97

原创 python高级编程第四讲:元类编程

1.property动态属性2种实现方式1 通过给一个变量进行方法的实现例:S=property()再设置 setter和getter方法2 直接使用装饰器的方法2.__getattr__和_getattribute__getattr_ 在查找不到属性的时候调用__getattribute__是在__getattr__之前执行的魔法方法,尽量不要重写这个方法先看一下__...

2019-07-23 11:51:31 111

空空如也

空空如也

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

TA关注的人

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