自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CUFEECR的博客

记录项目实战、学习笔记、经验技巧、异常处理等,在学习和记录中进步。

原创 Python全栈(八)Flask项目实战之11.帖子管理和帖子分页
原力计划

帖子详情页面的评论使用百度富文本编辑器,可以定制文本编辑页面,需要创建模板、完善视图函数,要实现通过点击文章链接就自动跳转到文章详情页。后台帖子管理主要有两个功能,即加精(取消加精)和移除,需要创建保存精华帖的模型,并完善视图函数和模板以实现加精与取消加精之间的切换,删除是假删,即将is_dele...

2020-07-04 09:40:36 33 0

原创 Python全栈(八)Flask项目实战之10.前台发布帖子和后台帖子管理页面搭建
原力计划

通过完善模板和视图函数在前台显示相关信息,轮播图和板块显示出来,并点击板块会有颜色显示,地址中参数值也会变化。创建相关JS、模板和视图函数,并且需要通过装饰器实现登录验证,并创建钩子函数用于在上下文保存前台用户。需要创建模型保存博客数据,并进行映射。文章的发布需要表单验证,并且需要实现业务逻辑,可...

2020-07-02 20:32:30 159 1

原创 Python全栈(八)Flask项目实战之9.CMS七牛云上传和板块管理
原力计划

将后台轮播图数据展示到前台需要在视图函数中查询,并在模板中修改。图片文件上传到七牛云需要在视图函数中生产token,并在JS文件中实现上传的数据传递和逻辑处理;JS文件中setUp()是对七牛云的初始化。板块管理是管理帖子的分类,需要实现模板并通过JS文件实现,需要创建板块数据模型,并进行数据库的...

2020-06-29 21:59:18 206 5

原创 Python全栈(八)Flask项目实战之8.CMS后台轮播图管理
原力计划

首先在前一节的基础上调整轮播图的样式,并且实现模板继承。后台管理轮播图,还要新增管理轮播图权限,新建js文件用于Ajax传递数据,并且开发出轮播图管理的基本雏形。在添加轮播图时有两种实现方式,本地上传采用上传到第三方平台。添加轮播图时需要创建模型,并且映射到数据库中,并新增表单类进行验证,还需要将...

2020-06-27 21:05:10 533 2

原创 Python全栈(八)Flask项目实战之7.前台注册和登录功能
原力计划

在完善注册功能时,将生成的图形验证码和短信验证码保存到Redis中,以在指定时间内有效,并定义表单来验证各个字段和验证码的正确性,注册成功后数据插入数据表。如果注册页是从某一个页面跳转来的,还要实现注册完后跳转回该页面,这主要是通过request.referrer来实现的,并且需要判断地址是否是站...

2020-06-25 18:37:37 933 3

原创 那些在Flask开发中不得不注意的坑

Flask作为一个主流的Python Web框架之一,有比较广泛的应用,但是有经验的小伙伴可能知道,这里边其实也有很多坑,让你不得不防。Flask中的Referer不是referer,而是referrer,多了一个r。持续更新中...

2020-06-25 10:09:13 187 0

原创 Python全栈(八)Flask项目实战之6.前台注册功能开发
原力计划

后台的整体页面和基本架构已经搭建好,转到前台开发。首先对前台用户模型进行定义,属性比后台用户更多,在manage.py中进行映射。在相应目录下创建模板文件、css和js文件,视图文件中实现视图类;再实现图形验证码类,用于生成带随机验证码和干扰线的图片。在试图文件中实现生成随机图片验证码并添加到注册...

2020-06-24 16:30:01 393 3

原创 C语言经典习题100例(十)46-50
原力计划

宏通过#define命令定义,分为无参宏和带参宏,可以分别进行测试,这只是一种简单的字符串代换。宏#define命令练习,替换一个代码块,实现在代码中使用宏就像调用函数一样。宏#define命令练习,替换运算符号,在进行比较运算的时候用定义的宏替换掉原来的符号。#if、#ifdef和#ifndef...

2020-06-23 17:21:27 438 1

原创 Python全栈(八)Flask项目实战之5.CMS后台权限验证
原力计划

本节主要实现权限验证。首先需要在manage.py中实现添加用户角色的功能,并在命令行中添加用户。接着在模型文件中实现获取用户权限和判断权限的功能,并在manage.py中添加函数进行验证,再进一步实现将用户添加到角色的功能。先对个人中心页面进行完善,并实现右上角显示权限最大的角色,有两种方式,接...

2020-06-19 21:14:31 998 4

原创 C语言经典习题100例(九)41-45
原力计划

使用static变量时,用static声明和未用static声明变量进行对比,即可得出static的作用。自动变量用auto关键字声明,默认不用关键字修饰即为自动变量,可进行对比分析。static在单独的代码块中声明变量在一次执行结束时不被销毁,下次调用函数时即使用保留的值,直到运行期间结束才释放...

2020-06-18 11:00:04 1205 3

原创 C语言经典习题100例(八)36-40

求100之内的素数,先用函数实现判断一个数是否为素数,再对所有的数循环调用函数判断。对10个数进行排序,可使用冒泡法或其他算法进行排序,一般都会经过多层嵌套、比较和交换。求一个3*3矩阵对角线元素之和,先使用双重for循环输入二维数组,再根据判断条件即i和j相等时就将该元素加入求和。在一个有序数组...

2020-06-11 20:48:26 2241 9

原创 C语言经典习题100例(七)31-35
原力计划

输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母,可以使用嵌套switch语句,也可以简单使用条件判断,有一个getchar()函数来接收输入的换行符。删除一个字符串中的指定字母,逐个遍历字符并判断。判断一个数是否为质数,使用函数实现,从2开始遍历,只要有一个数可...

2020-06-08 21:34:05 1748 7

原创 C语言经典习题100例(六)26-30

利用递归方法求5!使用递归。利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来,使用递归来打印,在递归函数中要注意获取字符、打印和递归调用的先后顺序.有 5 个人坐在一起,后一个人比前一个人大2岁,已知第1个人为10岁,求第5个人多少岁,可以简单使用循环遍历来实现,也可以使用递归来实现,...

2020-06-07 12:15:15 2235 5

原创 Python全栈(八)Flask项目实战之4.CMS后台修改邮箱和权限介绍
原力计划

先将公共代码抽离;发送邮件需要进行配置,要初始化Mail模块,在视图文件中定义视图函数进行邮件发送测试。修改邮箱也要用Ajax实现,还需要实现生成指定位数验证码的函数,试图文件中定义视图类发送验证码;还需要使用Redis保存验证码和设置有效期,定义专门函数实现该功能。在表单文件中定义专门验证修改邮...

2020-06-05 21:40:10 1357 10

原创 C语言经典习题100例(五)21-25

猴子第一天摘下桃后每天吃一半多一个,第十天还剩1个,应使用逆向思维,从第十天往第一天反推。两个乒乓球队进行比赛,各出三人,求出三队赛手,需要嵌套循环,有多少对就进行多少次嵌套,遍历所有情况,并进行判断,符合则为所求结果。打印菱形有2种方式:把图分成上下两部分分别打印,每个部分两层嵌套,外层控制行、...

2020-06-03 12:17:41 2184 17

原创 C语言经典习题100例(四)16-20
原力计划

求两个数的最大公约数有3种方法,分别是辗转相除法、辗转相减法和枚举法,3种方法均需使用循环,最小公倍数用两个数之积除以最大公约数即可获得。统计输入字符串中的英文字母、空格、数字和其它字符的个数,需要在循环中嵌套使用条件判断、分别统计个数。通过从键盘中输入获取要加的数,求s=a+aa+aaa+aaa...

2020-06-01 19:59:17 2820 12

原创 C语言经典习题100例(三)11-15

有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,形成斐波拉契数列,可以成对打印。判断101-200之间有多少个素数,并输出所有素数,可以定义一个函数实现判断一个数是否是素数的功能,再遍历所有数依次判断,实则打印。打印出所有的水仙花数(三位数各位立方和等...

2020-05-31 16:05:08 1960 8

原创 Python全栈(八)Flask项目实战之3.CMS后台修改密码
原力计划

CMS后台修改密码需要先创建模板文件,也是继承自父模板,父模板的meta元素中放入csrf验证,视图函数文件中增加视图类,并通过ajax实现局部更新。在表单文件中增加对修改密码提交数据的验证,在试图文件中实现post方法,返回json格式数据。创建testful.py用于实现返回json数据的封装...

2020-05-29 11:17:54 2052 10

原创 C语言经典习题100例(二)6-10

用*号输出字母C的图案只需要逐行打印即可。输出X状的图形也要逐行打印,用字符4表示X的组成部分、字符2表示空白部分。输出9×9乘法表,使用嵌套循环,分别控制行和列,先循环打印表头,再双层循环,外层循环控制行,打印出行头,再内层循环控制乘法表达式,注意j <= i来控制格式,再打印出换行符,还...

2020-05-28 13:05:23 2012 13

原创 C语言经典习题100例(一)1-5
原力计划

有多个数,可以组成多少个无重复数字的三位数,应该先用循环遍历得到所有的数,在去除掉重复的数。企业发放的奖金根据利润提成,在不同区间采用不同的提成率,可以采用两种方法实现,if条件判断和switch语句。一个数加100和268都是完全平方数,寻找这个数有两种方法,一是简单循环遍历,逐一进行判断;二是...

2020-05-26 20:54:08 2685 15

原创 C语言入门系列之12.位运算

位运算是指按二进制位进行的运算;按位与运算符&,只有两个二进制位都为1结果才为1,可用于清零或取一个数中某些指定位;按位或操作符|,两个二进制位只要有一个为1,该位的结果值为1;异或运算符^,两个二进制位同号则结果为0,异号为1,可用于使特定位翻转和保留原值;取反运算符~对二进制数按位取反...

2020-05-23 18:34:56 2131 19

原创 Python全栈(八)Flask项目实战之2.CMS后台功能开发
原力计划

用户登录验证需要实现表单验证,视图类中使用post函数实现表单提交,还需要进行邮箱和密码的验证。在用户名或密码验证失败或表单验证失败时应返回模板,get和post方法可以进行统一。登录验证有两种实现方式,使用钩子函数和使用装饰器,都可以单独建立文件,建议使用钩子函数;CSRF保护可以保证表单请求的...

2020-05-23 11:47:56 1564 5

原创 C语言入门系列之11.文件和文件操作
原力计划

文件是一组相关数据的有序集合;从不同的角度可对文件作不同的分类;C语言对文件的操作都是用库函数实现。通过FILE类型定义文件指针;文件打开使用fopen函数,文件使用方式有很多种;文件关闭使用fclose函数。字符读写函数逐个读写字符,文本文件和二进制文件有区别;字符串读写函数读写指定个数字符到字...

2020-05-20 19:11:13 2149 10

原创 Python全栈(八)Flask项目实战之1.项目搭建
原力计划

一个Flask项目的首要工作是要根据需要创建好项目目录,本项目实现简单的论坛平台,后台管理cms和前台front分离实现,以优化代码结构,创建程序主入口文件、静态资源文件目录和模板目录,还需要创建配置文件、中间文件、数据库映射文件和前后台分离目录,目录下创建表单文件、模型文件和视图文件。CMS管理...

2020-05-18 21:53:22 1762 11

原创 Python全栈(七)Flask框架之13.Flask-Restful的概念和使用
原力计划

Restful是用于在前端与后台进行通信的一套规范,包括协议、数据传输格式、url链接、http请求方法。Flask-Restful可以在Flask中快速实现Restful API功能;定义视图类时,要继承自Resource类,实现请求方法get等。使用reparse验证数据是否合法,通过add_...

2020-05-18 18:33:34 1224 17

原创 C语言入门系列之10.结构体和共用体
原力计划

结构体将不同类型的数据组形成一个整体;定义结构体类型变量有3种方式;引用结构体成员方式为结构体变量名.成员名;可以初始化结构体变量。可以定义结构体数组,还可以初始化;可以定义指针指向结构体变量;将一个结构体变量的值传递给另一个函数有3种方式。C语言提供了一些内函数,包括malloc、calloc、...

2020-05-17 21:58:37 1296 13

原创 Python全栈(七)Flask框架之12.Cookie、Session、上下文和钩子函数
原力计划

cookie用于保存用户的登录状态;Flask中通过Response对象的set_cookie()方法来设置cookie。session一般存储于服务端,也有存储于客户端浏览器cookie中;Flask中像字典一样使用session,需要设置加密密钥,还可以指定会话到期时间、获取值和删除sessi...

2020-05-13 19:00:46 1006 29

原创 Python爬虫常见异常及解决办法

Python 的一个很重要的应用场景就是爬虫,可以高效爬取大量数据,但是在使用过程种可能会出现一些异常:cannot find Chrome binary需要通过配置参数或修改源文件实现设置binary_location参数。持续更新……

2020-05-12 20:44:18 1610 20

原创 C语言入门系列之9.预处理
原力计划

在程序中预处理命令都放在函数之外,而且一般都放在源文件的前面。无参宏的宏名后不带参数;只是简单替换,不做任何检查,作用域为宏定义命令起到源程序结束,宏定义允许嵌套,可用宏定义表示数据类型,这与typedef不同,还可以对输出格式作宏定义。C语言允许宏带有参数,在宏定义中的参数称为形式参数,在宏调用...

2020-05-11 19:46:26 1647 11

原创 Python全栈(七)Flask框架之11.WTForms及其常见应用
原力计划

WTForms有很多功能。使用wtf进行表单验证时需要创建表单类,继承自Form类,可以根据需要导入验证器类进行验证,用form.validate()来判断用户提交的数据是否满足验证条件;常用的验证器有邮件、数字范围、必填、正则表达式、链接等,还可以定义方法实现自定义验证,方法名为validate...

2020-05-09 21:20:36 1166 14

原创 C语言入门系列之8.指针的概念与应用
原力计划

指针变量用来存放地址。*定义指针变量,&获取变量地址。可以定义指向数组元素的指针变量;引用数组元素有下标法和指针法2种;可以用数组名作函数参数;指针变量可以指向多维数组元素。定义字符串有字符数组和指针两种方式;字符串存取字符可以用下标或指针方法;字符指针可以作函数参数;字符指针变量和字符数...

2020-05-08 00:28:23 1396 10

原创 利用JS事件让你更加愉快地划水

网页中一般都有很多事件监听器,一旦出发了某个事件就会执行一些特定的操作,这些事件也可以为我们所用,可以更加愉快地划水:很多小伙伴都有上网课的经历,但是你一从课程页面移开鼠标,就会暂停播放,这时可以在浏览器审计工具中删除mouseout事件监听器;有时需要复制网页中的文字,但是可能会禁止复制或需要登...

2020-05-04 19:13:35 10163 43

原创 Python全栈(七)Flask框架之10.ORM插件、Script和Migrate
原力计划

flask-sqlalchemy插件是对SQLAlchemy的进一步封装,可以更方便地操作数据库,所有的类都继承自db.Model。Flask-Script使得可以通过命令行的形式来操作Flask,实现方式有使用装饰器、继承自Command类;还可以传入参数,有3种方式,包括使用option装饰器...

2020-05-03 16:22:16 1596 7

原创 C语言入门系列之7.函数的定义、参数、调用和存储类别
原力计划

函数用于实现特定功能,可以互相调用。分为无参函数、有参函数和空函数。在定义函数时定义形参,调用函数时传递实参;函数返回值通过return获得;不带返回值时定义为空类型。函数调用形式为函数名 (实参表列)。C语言可以嵌套调用函数。在调用函数时又调用该函数本身为递归,必须有退出条件。数组元素相当于普通...

2020-05-01 11:55:56 2523 15

原创 Python全栈(七)Flask框架之9.ORM排序、分页、高级查询和子查询
原力计划

ORM中排序的方式有order_by()方法和定义模型时指定两种方式,默认情况下是升序,可以通过desc()方法或-变为降序,在定义模型时就定义默认排序效率更高。limit指定返回行的最大记录数目,offset指定第一个返回记录行的偏移量,切片是对Query对象进行切片操作,可以多个查询条件同时使...

2020-04-28 17:13:49 1643 11

原创 C语言入门系列之6.一维和二维数组
原力计划

数组是具有相同类型的数据组成的序列,是有序集合,每一个数据称为元素。在C语言中使用数组必须先进行定义,一维数组声明格式为类型说明符 数组名 [常量表达式];,不允许对数组的大小作动态定义;形式为数组名[下标];给数组赋值包括赋值语句赋值、初始化赋值和动态赋值3种方式。二维数组的定义格式为类型说明符...

2020-04-27 10:18:31 1565 7

原创 Python全栈(七)Flask框架之8.ORM过滤条件、外键约束和表关系
原力计划

过滤条件通过filter()方法实现,常见的过滤条件有==、!=等。SQLAlchemy通过ForeignKey类实现外键,崽子表中添加的数据必须在父表种存在;外键约束有restrict(默认)、no action、cascade和set null4种;存在外键时查询数据可以通过==条件实现。表之...

2020-04-25 11:39:40 2241 15

原创 C语言入门系列之5.循环控制结构程序
原力计划

循环结构在给定条件成立时,反复执行某程序段,包括循环条件和循环体。goto语句是一种无条件转移语句,需要用标号来指定跳转的位置。while语句当循环条件为真时, 执行循环体语句,可能会出现死循环。do-while语句先执行循环中的语句,然后再判断表达式是否为真,至少要执行一次。for语句格式为fo...

2020-04-24 11:19:48 1539 9

原创 Python全栈(七)Flask框架之7.ORM增删改查、数据类型和参数
原力计划

在ORM中插入数据需要用到Session对象的add(),插入后需要提交。查询数据通过query()实现,可以指定属性查询和切片,对结果过滤使用filter()和filter_by(),根据id指定查询数据用get(),删除数据用delete(),还可以回滚。sqlalchemy中有多种常用的数据...

2020-04-22 21:07:27 1257 9

原创 C语言入门系列之4.分支结构程序-关系、逻辑运算和if、switch语句
原力计划

关系运算符用于比较两个量的大小,是左结合;关系表达式可以嵌套,值是真或假。逻辑运算符有与、或、非;表达式的值也为真和假;可以嵌套。if语句可以构成分支结构,有3种形式;表达式中判断两个值是否相等用==,有多个语句时用{}括起来;当if语句中的执行语句又是if语句时,构成嵌套,else与if配对应该...

2020-04-21 17:14:16 1694 10

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