自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Django源码阅读 View.as_view()方法

Django源码阅读之View.as_view()方法平时我们在使用django开发项目的时候,很可能一个url对应有两种请求方式,get请求和post请求,这两种请求方式我们要做的操作也不一样。如果我们不使用类视图来实现这个需求,可能我们就需要写两个视图函数,并且写两个url来对应,虽然说这样是可以实现需求的但是感觉看起来不是那么爽。这个时候我们一般都是使用类视图来完成这个需求,不知道类视...

2019-11-19 16:28:50 2389

原创 django源码阅读 forms表单验证部分

Django源码阅读之forms表单在我们在写web后端的时候,我们都要对前端传入的数据进行验证,判断是否合法。在django框架中,我们就需要使用到forms这个东西了。不清楚forms的用法可以参考这篇博客django使用表单验证前端传入数据并储存所以forms表单在我们开发web项目的时候用的也是很多的一个点,接下来我们就来阅读一下django中forms表单的源码。首先我们知道在dj...

2019-11-17 17:25:49 477

原创 django源码阅读 django.conf.settings对象

Django源码阅读之django.conf.settings对象在我们平时使用django写项目的时候,如果我们想用settings.py里面的变量,我们是不是直接导入django.conf.settings这个对象,然后我们就能够从这个对象里面获取我们想要得到的变量了?并且如果我们想加一下自定义的配置变量,我们也可以自己向settings.py文件里面添加,然后我么在其他位置也能使用djan...

2019-10-19 11:20:24 1121

原创 django源码阅读 manage.py文件

Django源码阅读之manager.py文件阅读我们知道,我们运行一个django项目的时候,需要进入项目的根目录,然后输入命令,python manage.py runserver,这样,我们就启动了一个django项目。那么相当于manage.py这个文件就是django的入口,我们就这里开始阅读源码吧。这篇文章可能有点长,因为我实在是找不到可以在哪里分割出来,就全部放在一篇文章里面了。...

2019-10-13 15:47:09 1526

原创 python logging 模块详解

python logging模块的使用logging模块主要是方便我们用来记录日志信息的,下面将列出logging模块的使用。了解logging中的等级LEVELvaluedescribeNOTEST0不设置级别,按照父logger的级别显示日志,如果是root logger,那么就会显示所有的日志DEBUG10程序的详细debug信息,调试代码会用到...

2019-09-16 20:35:02 495

原创 python argparse模块

python argparse库argparse是python的标准库,他可以使我们很友好的编写命令行界面,并且可以自动生成帮助文档和使用消息,并在参数无效的时候发出错误。argparse.ArgumentParse类参数prog:改变应用的名字,并且我们也可以使用%(prog)s引用应用的名字,默认的应用名字为文件名。import argparsedef prog_demo():...

2019-09-07 10:17:14 258

原创 python 制作图片验证码

python 生成验证码验证码是我们web开发中不可缺少的元素。所以作为一个web开发人员,验证码的制作肯定也是不能落下的。今天我们就来使用python制作一个验证码。演示环境操作系统:windows10python版本:python 3.7代码编辑器:pycharm 2018.2使用第三方模块:pillow验证码的必须元素一张图片文本干扰元素线条干扰小圆点干扰...

2019-09-03 17:55:39 1944

原创 python发送邮件

python 发送邮件在一个web项目中,邮件也经常扮演者重要的角色,那么使用代码发送邮件也成为了我们必须得会的一个技能。下面我们就来看一下如何使用python发送邮件。演示环境操作系统:windows10python版本:python 3.7代码编辑器:pycharm 2018.2使用模块:email, smtplibtips: 这些模块不用我们安装,是python自带的模块...

2019-09-01 15:05:30 492

原创 python实现解数独

leetcode题目地址https://leetcode-cn.com/problems/sudoku-solver/1. 数独的规则数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个 3x3 宫内只能出现一次。3x3 的宫内为A1-C3,A4-C6,A7-C9,D1-F3,D4-F6,D7-F9…2. 数独题目示例123...

2019-08-19 11:18:02 15246 1

原创 python实现比较两手牌的大小--斗地主规则

python实现扑克牌比较大小,斗地主的规则规则详情首先可以打出的牌有个子,对子,三带一,顺子(大于或等于五张),炸弹。(不允许出三张牌的,即三个一样的不带一张牌)两手牌必须是相同的相同类型的,如个子对个子,对子对对子,顺子对顺子。。。炸弹可以和任何牌相比较,两个王最大。这里我们假设输入已经合法化,并且输入的牌已经排好序了,因为我们的重点在于比较两手牌的大小。定义J,Q,K,A,2 分...

2019-08-10 10:03:23 2091

原创 python实现24点游戏

题目地址leetcode–24点游戏什么是24点给定4个任意数字(0-9),然后通过+,-,*,/,(,),将这4个数字计算出24。可能有人会觉得很简单,但是真的简单吗?比如:8,3,3,37,3,3,3你能一眼看出来答案吗?这个时候我们的python就派上用场了,我们可以利用python写一个程序,来返回一个满足符合要求的表达式。大致思路我们可以这样想,将四个数字进行全...

2019-08-08 10:27:21 2219

原创 flask--蓝图和子域名配置

蓝图在flask项目中,我们所有的url和视图函数都写在一个文件app.py中,但是当我们的项目大起来之后,这显然就不是一个合理的结构了。而蓝图就可以优雅的帮我们实现这个需求,对我们的项目进行分块。比如现在的豆瓣网,https://www.douban.com/,他分为好几个模块。有读书,电影,音乐,同城,FM等模块,假设我们也需要实现一个类似的网站,用过Django框架的朋友都知道,可以给...

2019-07-31 15:29:19 654

原创 flask--app.add_url_rule()函数 和 类视图详解

1. app.add_url_rule()函数在flask中,我们知道给一个函数添加url的时候,只需要使用装饰器@app.route('<url>')装饰对应的函数就可以了。为什么这个装饰器就可以给函数视图 添加url规则呢?查看app.route()源码发现,这个装饰器在里面调用的另外一个方法self.add_url_rule,这里的self就是app这个实例对象。app.ro...

2019-07-26 13:57:34 15004

原创 flask--静态文件的使用、{% include %}与{% extends %}标签

1. 静态文件的使用在一个web项目中,静态文件是必不可少的东西,那么在flask中,有哪些方式可以加载静态文件呢?在我们新建一个项目的时候,flask就会默认给我们生成一个static的文件夹,我们的静态文件就就是写在这个文件夹里面的。假设我们的static目录结构是这样的。然后每个文件对应代码为:index.cssbody{ background: pink;}...

2019-07-24 11:18:23 6334

原创 flask--宏和import语句,{% set %}和{% with %}语句

宏Jinja2中的宏和python中的函数类似,可以传递参数,但是不能有返回值,我们可以将一些常用的代码放到宏中,然后把一些不固定的值抽取出来当成一个变量。我们在模板中写入这样一个宏。{% macro input(name, value='', type='text') %} <input type="{{ type }}" name="{{ name }}" value="{{ ...

2019-07-22 10:19:31 870

原创 flask--Jinja2模板{% if %}标签 、{% for %}标签、测试器的使用

在模板中,有时候我们避免不了对某些变量做一些判断,来实现我们的需求,而Jinja2模板也给我们提供了这个标签。1. {% if %}标签和python中的if语句相似,可以使用<,>,<=,>=,==,!=来进行判断,也可以通过and,or,not,()来进行逻辑合并操作。假设我们在视图中传入了一个变量age,我们就可以根据age不同的值,在页面显示不同的信息.{%...

2019-07-20 12:36:57 14064

原创 flask--过滤器详解与自定义过滤器

1. 什么是过滤器过滤器是通过|进行使用的,例如{{ name|length }},将返回name的长度,过滤器相当于是一个函数,吧当前的的变量传入到过滤器中,然后过滤器根据自己的功能,再返回相应的值,之后再渲染到模板页面中。2. Jinja2模板内置的过滤器abs(value):返回一个数值的绝对值,例如{{ -1|abs }}。如果给的参数类型不为数字,就会报错。default(va...

2019-07-17 11:13:00 3066

原创 flask--渲染Jinja模板与传入模板变量

1. 模板简介模板是一个web开发中必备的模块,因为我们在渲染一个网页的时候,并不只是渲染了一个纯文本字符窜,而是渲染一个有富文本标签的页面,这个时候我们就需要用到模板了。在flask中,配套的模板是Jinja2,Jinja2的作者也是flask的作者。2. flask中渲染模板在flask中,如果我们需要渲染一个模板,那么我们就需要用到render_template这个方法了。在我们新建...

2019-07-15 17:45:50 3009

原创 flask--自定义url转换器

什么是url转换器可以指定url的规制,对url做一定的限制。自带的url转换器可以参考我的上一篇博客: flask–url与重定向详解自定义url转换器首先我们提一个需求,根据需求来写代码,现在我们假设一个url需要满足电话号码的格式才能访问我们的函数视图,例如这样的url: 127.0.0.1:5000/user/<电话号码>/.# 首先导入BaseConverter...

2019-07-13 15:00:27 474 1

原创 flask--url与重定向详解

1. url与函数的映射当我们新建一个flask项目的时候,默认就会有一个hello_world函数,如下面这样@app.route('/')def hello_world(): return 'hello world'上面函数中,app.route()的参数就是我们的url,当我们启动项目的时候,我们在浏览器中输入127.0.0.1:5000,就能够访问到我们这个视图了,因为/就是代...

2019-07-12 19:47:31 2310

原创 初识flask--启动flask项目与基本配置

1. 第一个flask项目,使用pycharm新建一个flask项目然后点击create按钮,就成功的创建好了一个flask项目。然后我们点击运行按钮,在网页中输入http://127.0.0.1:5000/就能够看到我们的hello world了表示我们项目新建成功,并且没有任何问题。2. 项目文件解析当我们新建好了一个文件之后,整个项目的目录结构如下:static:这个文件里面一...

2019-07-11 20:23:47 11711 2

原创 django集成markdown编辑器并实现代码高亮显示

使用django-mdeditorgitgub的地址:https://github.com/pylixm/django-mdeditor安装pip install django-mdeditor在项目settings.py文件中的INSTALLED_APPS中添加 ‘mdeditor’INSTALLED_APPS = [ 'django.contrib.admin',...

2019-06-12 20:47:52 2362 1

原创 python类中静态方法,实例方法,类方法的用法与区别

1. 实例方法class Student(): def __init__(self,name): self.name = name def print_name(self): print(self.name) student1 = Student('xujin')在上述例子中,print_name就是一个实例方法,只能通过实例化过的具体对象来调用这个方法。而不能...

2019-06-05 01:04:55 2392

原创 git学习(三)git分支基础

几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。 在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。有人把 Git 的分支模型称为它的`‘必杀技特性’’,也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出。 为何 Git 的分支模型如此出众呢...

2019-05-15 23:15:14 385

原创 git学习(二)git基础,简单的使用

这篇文章将涵盖在使用Git完成完成各种工作中将要使用的各种命令。看完之后,我们应该能配置并初始化一个仓库(repository),开始或停止跟踪(track)文件,暂存(stage)或提交(commit)更改。也将演示如何配置 Git 来忽略指定的文件和文件模式、如何迅速而简单地撤销错误操作、如何浏览你的项目的历史版本以及不同提交(commits)间的差异、如何向你的远程仓库推送(push)以及如...

2019-04-07 23:36:52 216

原创 git学习(一)git的认识、安装和配置

git的三种状态(三个工作区域)已修改(modified):表示在本地(工作区域)修改了文件,但是没有对文件做标记(只有做了标记的文件在执行提交命令时才会被提交),也没有提交到远程仓库中去。(也表示没有保存在数据库中)。已暂存(staged):表示对一个已经修改的文件做了标记,包含在下次提交的快照中(也就是下次进行提交的时候就会提交的修改(文件))。已提交(committed):数据已安全...

2019-03-10 00:21:28 227 2

原创 Django编写自定义manage命令

我们再使用Django写项目的时候,不可避免的我们会使用到一些manage命令,如django-admin startproject,python manage.py runserver …等命令,然后这些命令就能完成相应的事情。但有时候Django自带的这些命令也不能满足我们的需求,我们就可以自己编写实现自己的一些需求的命令了。例如:我们实现一个createuser的命令,...

2019-03-01 20:11:25 1340 1

原创 python操作redis数据库

python操作数据库,首先需要安装redis模块pip install redis然后我们新建一个文件,写入代码:# encoding: utf-8from redis import Redis# 如果需要别的机器连接redis的话,只需要将host参数改为相应的ip地址就行了# password参数,只有在redis的文件中配置了密码,才使用这个参数。cache = Redi...

2018-12-28 15:14:57 259

原创 Redis数据库

概述redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(string,list列表[队列和栈],set[集合],sorted set[有序集合],hash(hash表))。相关参考文档:http://redisdoc.com/index.htmlredis使用场景登录会话存储...

2018-12-27 21:42:02 263

原创 Django中的权限和分组管理

权限Django中内置了权限的功能。他的权限都是针对表或者说是模型级别的。比如对某个模型上的数据是否可以进行增删改查操作。他不能针对数据级别的,比如对某个表中的某条数据能否进行增删改查操作(如果要实现数据级别的,考虑使用django-guardian)。创建完一个模型后,针对这个模型默认就有四种权限,分别是增/删/改/查。可以在执行完migrate命令后,查看数据库中的auth_permissi...

2018-12-27 15:05:18 6684 1

原创 Django中内置的User模型

User模型User模型是这个框架的核心部分。他的完整的路径是在django.contrib.auth.models.User。字段内置的User模型拥有以下的字段:username: 用户名。150个字符以内。可以包含数字和英文字符,以及_、@、+、.和-字符。不能为空,且必须唯一!first_name:歪果仁的first_name,在30个字符以内。可以为空。last_name:...

2018-12-20 10:45:28 18383 1

原创 Django中信号的用法

Django包含一个“信号的分发器”,用于在框架执行操作时解耦。就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者Django内置的信号model中的信号:odel signals pre_init # django的model执行其构造方法前,自动触发 post_init # djang...

2018-12-20 10:22:32 660

原创 在ubuntu16.04中安装、卸载Vmware14,以及遇到的问题

最近想在ubuntu16.04中安装一个虚拟机,装一个windows操作系统,来实现一些比较方便的操作。首先去官网下载vmware的安装文件。下载链接:https://my.vmware.com/cn/group/vmware/info?slug=desktop_end_user_computing/vmware_workstation_pro/14_0vmware你需要登录之后才能下载...

2018-12-13 11:45:20 3650 1

原创 python中的偏函数

当一个函数有很多参数时,调用者就需要提供多个参数。如果减少参数个数,就可以简化调用者的负担。比如,int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换:a = int('1111')print(a)但int()函数还提供额外的base参数,默认值为10。如果传入base参数,就可以做 N 进制的转换:base = 2,即认为传入的值是2进制的数,将把这...

2018-12-07 17:46:35 269

原创 python中的装饰器

需求:定义了一个函数,想要在运行的时候动态增加功能,又不想去改动本身的代码。例如:我们拥有三个函数,def f1(x): return x*2def f2(x): return x*xdef f3(x): return x*x*x那么我们想要给每一个函数增加一个log信息功能,即打印出xxx函数被调用,那么我们有什么方法呢?方法1. 修改原函数,在每一个...

2018-12-07 17:25:59 143

原创 python高级函数,将函数作为变量、返回函数

python中使用函数作为参数在python中,我们可以用一个变量来存放函数。示例:a = lenlength = a([1,2,3,4,5])print(length)在上面我将len()函数赋值给了变量a。那么我们以后我们使用len()函数的的时候就完全可以使用a这个变量来代替了。既然我们可以用一个变量来存放函数,那么函数一可以当作一个函数的参数使用。示例代码:def add...

2018-12-06 14:24:29 11962

原创 Django中的中间件详解

什么是中间件中间件是在request和response处理过程中的一个插件。比如在request到达视图函数之前,我们可以使用中间件来做一些相关的事情,比如可以判断当前这个用户有没有登录,如果登录了,就绑定一个user对象到request上。也可以在response到达浏览器之前,做一些相关的处理,比如想要统一在response上设置一些cookie信息等。创建一个自定义的中间件中间件所处的...

2018-12-05 20:08:41 663

原创 Django上下文处理器详解

什么是上下文处理器上下文处理器是可以返回一些数据,在全局模板中都可以使用。比如登录后的用户信息,在很多页面中都需要使用,那么我们可以放在上下文处理器中,就没有必要在每个视图函数中都返回这个对象。自定义上下文处理器1. 上下文处理器的存放位置:你可以根据这个上下文处理器是属于哪个app,然后在这个app中创建一个文件专门用来存储上下文处理器。比如context_processors.py。或...

2018-12-04 18:41:48 3015 3

原创 python3.6、Django>=2安装xadmin==2.0.1

这篇博客主要讲一下xadmin库的下载安装和遇到的各种问题。。。。。。首先,我使用的时python3.6、Django==2.1.3,所以xadmin的版本为2.0的版本才比较合适。首先先给出xadmin==2.0.1的资源。xadmin==2.0.11.最基本的,命令行中输入命令安装因为我的是python3.6,所以使用pip install xadmin或者pip insta...

2018-11-28 14:41:51 6772

原创 Django中cookie和session操作

cookie和session的介绍:cookie:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务...

2018-11-22 23:30:17 429 2

空空如也

空空如也

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

TA关注的人

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