概要在前面章节我们为主页定义了一个简单的模板,部分尚未实现的模块如用户或帖子等使用模拟的对象作为临时占位。本章我们将看到如何利用web表单填补这些空白。web表单是web应用中最基本的构建要素,我们将通过表单来实现用户发帖和应用登录功能。完成本章内容你需要基于前面章节完成的微博应用代码,请确认这些代码已安装并能正常运行。配置Flask-WTF是WTForms项目的Flask框架扩展,我们将用他来帮助我们处理web表单。大部分Flask扩展都需要定义相关配置
系统 2019-09-27 17:48:55 2365
本文参考“郭靖愕然——python的多线程与多进程”对多进程/多线程的概念进行理解,结合实际运用情况对python多进程进行整理。一、进程与线程Process&Thread进程是操作系统进行资源分配的最小单元,资源包括CPU、内存、磁盘等IO设备等等,而线程是CPU调度的基本单位。举个简单的例子来帮助理解:我们电脑上同时运行的浏览器和视频播放器是两个不同的进程,进程可能包含多个子任务,这些子任务就是线程,比如视频播放器在播放视频时要同时显示图像、播放声音、
系统 2019-09-27 17:48:29 2365
前言最近想用Python自动地爬取某个站点里的图片,没想到其请求数据是以requestpayload格式传输给后端进行处理的。博主还是第一次遇到这种情况,写下这篇文章记录一下解决过程。博主浏览器使用的是Chrome,下文说的浏览器一律指的是Chrome浏览器。POST提交数据常见的几种Content-Type在网络请求中常用的Content-Type有很多,但是在POST请求下我们常用的Content-Type大约有3种。1.application/x-w
系统 2019-09-27 17:48:14 2365
如何判断一个对象是可迭代对象?方法是通过collections模块的Iterable类型判断:>>>fromcollectionsimportIterable>>>isinstance('abc',Iterable)True>>>isinstance([1,2,3,4],Iterable)True>>>isinstance(1234,Iterable)False>>>isinstance((1,),Iterable)True>>>L=['a','b','c
系统 2019-09-27 17:47:12 2365
问555555的约数中最大的三位数是多少?*问题分析与算法设计根据约数的定义,对于一个整数N,除去1和它自身外,凡能整除N的数即为N的约数。因此,最简单的方法是用2到N-1之间的所有数去除N,即可求出N的全部约数。本题只要求取约数中最大的三位数,则其取值范围可限制在100到999之间。/***Copyright(c)2011TrustedSoftwareandMobileComputing(TSMC)*Allrightreserved.**Createdo
系统 2019-08-29 23:52:33 2365
2.存储过程内部块2.1内部块我们知道了存储过程的结构,语句块由begin开始,以end结束。这些块是可以嵌套。在语句块中可以嵌套任何以下的块。Java代码Declare…begin…exception…end;createorreplaceprocedureinnerBlock(p1varchar2)aso1varchar2(10):='out1';begindbms_output.put_line(o1);declareinner1varchar2(2
系统 2019-08-29 23:48:57 2365
Spring的骨骼架构Spring总共有十几个组件,但是真正核心的组件只有几个,下面是Spring框架的总体架构图:图1.Spring框架的总体架构图从上图中可以看出Spring框架中的核心组件只有三个:Core、Context和Beans。它们构建起了整个Spring的骨骼架构。没有它们就不可能有AOP、Web等上层的特性功能。下面也将主要从这三个组件入手分析Spring。Spring的设计理念前面介绍了Spring的三个核心组件,如果再在它们三个中选出
系统 2019-08-29 23:27:52 2365
在写这个自动化测试框架的时候,我一直在留意各方面的需求。毕竟,我本人并没有做过真正的自动化测试。管理测试方面的领导,提出一个需求,就是在用例运行失败的时候,应该将过程记录下来,并形成报告,Email给相关人员。个人认为这个需求是非常合理的。事实上,任何系统,如果没有输出,那么只能停留在程序员手里。有了报表,才叫真正解决了用户的目标需求。在分析这个需求的过程,我提出了针对每一个操作接口的每一个方法,进行Log。而完成这个工作的第一方法,就想到了AOP,也就是
系统 2019-08-29 23:23:00 2365
先看下表中共有多少条数据:一百二十多万条,呵呵。sql语句:declare@ddatetimeset@d=getdate()selecttop10ID,U_Name,U_Age,U_Sex,U_AddressfromTest1whereIDnotin(selecttop9990IDfromTest1orderbyID)orderbyIDselect[notin方法升序分页执行花费时间(毫秒)]=datediff(ms,@d,getdate())declar
系统 2019-08-29 23:07:10 2365
索引是加速查询速度的数据库对象。但索引并非越多越好。过多的索引会影响DML语句的性能。sqlplusscott/tigerCREATETABLEEMP(emp_idNUMBER(8)NOTNULL,last_nameVARCHAR2(20)NOTNULL,first_nameVARCHAR2(20)NOTNULL);CREATEINDEXEMP_LNONEMP(last_name);CREATEINDEXEMP_LN_FNONEMP(last_name,f
系统 2019-08-29 22:52:21 2365