|Flask Web开发实战
Posted 多德伟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了|Flask Web开发实战相关的知识,希望对你有一定的参考价值。
你不一定要点蓝字关注我的
数据处理部分
数据库的主要用途是处理数据。
接下来我们会探索几种探索数据插入数据库和表的基本方法、从表中获取数据、如何更新和删除数据以及如何从一个或多个表中选择数据,并以这些数据为基础,在其他表中进行插入、选取、更新或删除操作。
插入数据
使用插入这个词是因为往表中输入数据的最常用、最基本的方式,就是使用INSERT这个语句。
1.语法
INSERT语句可向表中添加数据,可以一次一行,也可以一次多行。它的基本语法是:
INSERT INTO table[(column, …)]
VALUES(value, …), (…), …;
关键字INSERT INTO后接一个表名,然后是括号中可选的列的集合。(方括号意味着其中的内容是可选的)。再接着是关键字VALUES,以及用括号包围的对应各列的值的集合。
我们在插入数值时,如果列的个数与我们插入的个数相同,我们不用指定列对应值。对于那些有设置默认值的列,你可以忽略该列的值,让服务器帮你输入,一种做法是:在该列的位置上使用DEFAULT或NULL,另一种做法是:指出不使用默认值的列(在括号内)。如果你有多行需要插入,那么把他们都下载一条语句中会比较高效,你需要写多对包含值集合的括号,并用逗号把它们分割开。
2.实例
尽管我们都想要避免数据冗余,但是有个小建议:想要输入数据时再建表, 输入完主表后,才输入辅表。因为我们很难一开始就确定到底需要多少表。
我们之前在rookery数据库中建立了下图所示的表:
在输入鸟目数据之前,让我们先将order_id从100开始起跳,这样得到的标识号就至少是三位数了。
接下来输入鸟目数据。我们可以使用插入多行的语法来快速录入大批数据。
恩!数据库先放一边!一方面这个命令行输入我很不舒服,且师兄说这样硬啃不如先把他当做参考书,你做实例的时候遇到在来查~
好吧我被说服了~~~师兄又给了一本《Flask Web开发》的书,是基于Python的Web应用开发实践,整本书教你做一个实例:写一个个人博客,这个包括前端和后端贯通的好项目,所以接下来干这件事~
其实讲道理,django在web开发上更全面,循序渐进嘛~从用flask写个人博客网站开始吧~
Flask Web开发
flask有两个主要依赖:路由、调试和Web服务器网关接口(Web Server Interface, WSGI)子系统由Werkzeug提供;模板系统由Jinja2提供。这两者都是由Flask的核心开发者开发而成。
Flask并不原生支持数据库访问、web表单验证和用户认证等高级功能。这些功能以及其他大多数web程序中需要的核心服务都以扩展的形式实现,然后再与和新报继承。开发者可以任意挑选项目需求的扩展,甚至可以自行开发。这和大型框架的做法相反,大型框架往往都已替你做出了大多数决定。
1.flask的安装
2.程序的基本结构
2.1初始化
Flask类的构造函数只有一个必须指定的参数,即程序主模块或包的名字。在大多数程序中,python的__name__变量就是所需的值。
2.2路由和视图函数
客户端(例如web浏览器)把请求发送给web服务器,web服务器再把请求发送给flask程序实例。程序实例需要知道对每个URL请求运行哪些代码,所以保存了一个URL到Python函数的映射关系。处理URL和函数之间关系的程序成为路由。
下面这个例子说明了如何使用这个修饰器声明路由:
修饰器是python语言的标准特性,可以使用不同的方式修改函数的行为。惯常用法是使用修饰器将函数注册为事件的处理程序。
Index()函数称为视图函数。视图函数返回的响应可以是包含html的简单字符串,也可以是复杂的表单。
注意:路由中的动态部分默认使用字符串,不过也可以使用类型定义。例如,路由/user/<int:id>只会匹配动态片段id为整数的URL。Flask支持在路由中使用int、float和path类型。Path类型也是字符串,但不把斜线视作分隔符,而将其当做动态片段的一部分。
3.启动服务器
4.一个完整的程序
以前跑过,这边就不演示了~
我今天才知道,我之所以漂泊就是在向你靠近。
--《廊桥遗梦》
以上是关于|Flask Web开发实战的主要内容,如果未能解决你的问题,请参考以下文章
Flask之旅《Flask Web开发:基于Python的Web应用开发实战》学习笔记