- 博客(27)
- 收藏
- 关注
原创 Flask、3 (HTTP进阶)
Web安全防范:注入攻击# 假设我们的程序是一个学生信息查询程序,其中的某个视图函数接# 收用户输入的密码,返回根据密码查询对应的数据。我们的数据库由一# 个db对象表示,SQL语句通过execute()方法执行:@app.route('/students')def bobby_table():password = request.args.get('password')cu...
2019-01-10 14:45:49 171
原创 Flask day2 HTTP进阶(实践)
重定向回上一个页面(点击返回登录前页面):# 创建了两个视图函数foo和bar,分别显示一个Foo页面和一个Bar页面@app.route('/foo')def foo():return '<h1>Foo page</h1><a href="%s">Do something</a>' % url_for('do_something')...
2019-01-10 07:10:43 220
原创 Flask day2 cookie (理解)
HTTP是无状态(stateless)协议,自动清空状态信息,使用cookie存储,先用make_response()方法生成响应。# :设置cookiefrom flask import Flask, make_response...@app.route('/set/<name>')def set_cookie(name):response = make_re...
2019-01-09 15:57:10 152
原创 Flask day2 HTTP(理解)
服务器和客户端(浏览器或其他)之间的操作流程,Flask结合数据库和WSGI与WEB服务器作为服务端,CHJ作为客户端,通过HTTP进行数据交互。HTTP请求:http://(指定协议)helloflask.com(服务器地址(域名))/hello?name=Grey(资源路径)报文(网页上F12):浏览器与服务器之间交互的数据叫报文 (message),请求时浏览器发送的...
2019-01-09 11:36:27 135
原创 Flask day1 (补充)
Flask命令(内置和自定义)自定义语法: @app.cli.command()def hello():click.echo('Hello, Human!') 函数名即命令名,使用 flask hello命令来触发函数。也可以在app.cli.command() 装饰器中传入参数设置命令名称,app.cli.command('say-hello') 会把命令名称设置为say-he...
2019-01-09 07:53:55 155
原创 Flask day1 (环境配置)
要点:克隆GIT目录,安装pipnev, 使用pipnev install 注意(在项目根目录执行)。 激活虚拟环境pipnev shell 输入exit退出。 pipnev install flask 安装flask(项目目录内进行) 虚拟环境路径查询,pipnev --venv(用于pycharm的配置)。 flask run 启动内置开发服务器(项目行),事先必须激活虚拟环境。...
2019-01-08 13:22:26 206 1
原创 课后练习、二十一
需要重点了解的知识点,各种类型的异常以及处理方式。10-6 加法运算 :提示用户提供数值输入时,常出现的一个问题是,用户提供的是文本而不是数字。在这种情况下,当你尝试将输入转换为整数时,将引 发TypeError 异常。编写一个程序,提示用户输入两个数字,再将它们相加并打印结果。在用户输入的任何一个值不是数字时都捕获TypeError 异常,并打印一 条友好的错误消息。对你编写的程序进行测试:...
2019-01-07 13:51:55 313
原创 课后练习、二十
10-3 访客 :编写一个程序,提示用户输入其名字;用户作出响应后,将其名字写入到文件guest.txt中。gs = input("Enter your name: ")filename = "guest.txt"with open(filename, 'a') as file_object: file_object.write(gs)10-4 访客名单 :编写一个while...
2019-01-07 13:04:25 276
原创 课后练习、十九
10-1 Python学习笔记 :在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python知识,其中每一行都以“In Python you can”打头。将这个文件命名为 learning_python.txt,并将其存储到为完成本章练习而编写的程序所在的目录中。编写一个程序,它读取这个文件,并将你所写的内容打印三次:第一次打印时读取整个 文件;第二次打印时遍历文件对象;第三次打印时...
2019-01-07 12:15:14 220
原创 课后练习、十八
9-10 导入Restaurant 类 :将最新的Restaurant 类存储在一个模块中。在另一个文件中,导入Restaurant 类,创建一个Restaurant 实例,并调 用Restaurant 的一个方法,以确认import 语句正确无误。分成多个模块,不同模块进行调用:restaurant.pyclass Restaurant(): def __init__(se...
2019-01-07 10:10:09 205
原创 课后练习、十七
9-6 冰淇淋小店 :冰淇淋小店是一种特殊的餐馆。编写一个名为IceCreamStand 的类,让它继承你为完成练习9-1或练习9-4而编写的Restaurant 类。这两个版 本的Restaurant 类都可以,挑选你更喜欢的那个即可。添加一个名为flavors 的属性,用于存储一个由各种口味的冰淇淋组成的列表。编写一个显示这些冰淇淋 的方法。创建一个IceCreamStand 实例,并调用这个...
2019-01-07 09:53:05 238 1
原创 课后练习、十六
9-4 就餐人数 :在为完成练习9-1而编写的程序中,添加一个名为number_served 的属性,并将其默认值设置为0。根据这个类创建一个名为restaurant 的实 例;打印有多少人在这家餐馆就餐过,然后修改这个值并再次打印它。 添加一个名为set_number_served() 的方法,它让你能够设置就餐人数。调用这个方法并向它传递一个值,然后再次打印这个值。 添加一个名为increme...
2019-01-07 08:30:40 343 4
原创 课后练习、十五
9-1 餐馆 :创建一个名为Restaurant 的类,其方法__init__() 设置两个属性:restaurant_name 和cuisine_type 。创建一个名 为describe_restaurant() 的方法和一个名为open_restaurant() 的方法,其中前者打印前述两项信息,而后者打印一条消息,指出餐馆正在营业。 根据这个类创建一个名为restaurant 的实例,分别...
2019-01-07 07:37:34 1376
原创 课后练习、十四
8-12 三明治 :编写一个函数,它接受顾客要在三明治中添加的一系列食材。这个函数只有一个形参(它收集函数调用中提供的所有食材),并打印一条消息,对顾客 点的三明治进行概述。调用这个函数三次,每次都提供不同数量的实参。8-13 用户简介 :复制前面的程序user_profile.py,在其中调用build_profile() 来创建有关你的简介;调用这个函数时,指定你的名和姓,以及三个描述你的...
2019-01-05 11:48:29 327
原创 课后练习、十三
8-7 专辑 :编写一个名为make_album() 的函数,它创建一个描述音乐专辑的字典。这个函数应接受歌手的名字和专辑名,并返回一个包含这两项信息的字典。使 用这个函数创建三个表示不同专辑的字典,并打印每个返回的值,以核实字典正确地存储了专辑的信息。给函数make_album() 添加一个可选形参,以便能够存储专辑包含的歌曲数。如果调用这个函数时指定了歌曲数,就将这个值添加到表示专辑的字典...
2019-01-05 10:17:24 318
原创 课后练习、十二
8-3 T恤 :编写一个名为make_shirt() 的函数,它接受一个尺码以及要印到T恤上的字样。这个函数应打印一个句子,概要地说明T恤的尺码和字样。 使用位置实参调用这个函数来制作一件T恤;再使用关键字实参来调用这个函数。8-4 大号T恤 :修改函数make_shirt() ,使其在默认情况下制作一件印有字样“I love Python”的大号T恤。调用这个函数来制作如下T恤:一件印有默认...
2019-01-05 08:08:07 280
原创 课后练习、十一
7-8 熟食店 :创建一个名为sandwich_orders 的列表,在其中包含各种三明治的名字;再创建一个名为finished_sandwiches 的空列表。遍历列 表sandwich_orders ,对于其中的每种三明治,都打印一条消息,如I made your tuna sandwich ,并将其移到列表finished_sandwiches 。所有三明 治都制作好后,打印一条消息,将这些...
2019-01-05 07:44:10 184
原创 课后练习、十
7-3 10的整数倍 :让用户输入一个数字,并指出这个数字是否是10的整数倍。7-4 比萨配料 :编写一个循环,提示用户输入一系列的比萨配料,并在用户输入'quit' 时结束循环。每当用户输入一种配料后,都打印一条消息,说我们会在比萨 中添加这种配料。7-5 电影票 :有家电影院根据观众的年龄收取不同的票价:不到3岁的观众免费;3~12岁的观众为10美元;超过12岁的观众为15美元。请编写...
2019-01-05 07:23:35 296
原创 课后习题、九
6-7 人 :在为完成练习6-1而编写的程序中,再创建两个表示人的字典,然后将这三个字典都存储在一个名为people 的列表中。遍历这个列表,将其中每个人的所有 信息都打印出来。6-8 宠物 :创建多个字典,对于每个字典,都使用一个宠物的名称来给它命名;在每个字典中,包含宠物的类型及其主人的名字。将这些字典存储在一个名为pets 的列表中,再遍历该列表,并将宠物的所有信息都打印出来。6-9...
2019-01-04 18:16:59 438
原创 课后练习、八
6-5 河流 :创建一个字典,在其中存储三条大河流及其流经的国家。其中一个键—值对可能是'nile': 'egypt' 。使用循环为每条河流打印一条消息,如“The Nileruns throughEgypt.”。 使用循环将该字典中每条河流的名字都打印出来。 使用循环将该字典包含的每个国家的名字都打印出来。6-6 调查 :在6.3.1节编写的程序favorite_languages.p...
2019-01-04 12:21:06 281
原创 课后习题、七
6-1 人 :使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键first_name 、last_name 、age 和city 。将存储在该字典中 的每项信息都打印出来。6-2 喜欢的数字 :使用一个字典来存储一些人喜欢的数字。请想出5个人的名字,并将这些名字用作字典中的键;想出每个人喜欢的一个数字,并将这些数字作为值存 储在字典中。打印每个人的名字和喜欢的数字。...
2019-01-04 11:55:33 253
原创 课后习题、六
5-8 以特殊方式跟管理员打招呼 :创建一个至少包含5个用户名的列表,且其中一个用户名为'admin' 。想象你要编写代码,在每位用户登录网站后都打印一条问 候消息。遍历用户名列表,并向每位用户打印一条问候消息。如果用户名为'admin' ,就打印一条特殊的问候消息,如“Hello admin, would you liketo seeastatus report?”。 否则,打印一条普通的...
2019-01-04 10:57:57 285
原创 课后练习、五
4-13 自助餐 :有一家自助式餐馆,只提供五种简单的食品。请想出五种简单的食品,并将其存储在一个元组中。 使用一个for 循环将该餐馆提供的五种食品都打印出来。 尝试修改其中的一个元素,核实Python确实会拒绝你这样做。 餐馆调整了菜单,替换了它提供的其中两种食品。请编写一个这样的代码块:给元组变量赋值,并使用一个for 循环将新元组的每个元素都打印出来。food = ('A', 'B'...
2019-01-04 10:09:37 1502
原创 课后习题、四
4-1 比萨 :想出至少三种你喜欢的比萨,将其名称存储在一个列表中,再使用for 循环将每种比萨的名称都打印出来。修改这个for 循环,使其打印包含比萨名称的句子,而不仅仅是比萨的名称。对于每种比萨,都显示一行输出,如“I like pepperoni pizza”。在程序末尾添加一行代码,它不在for 循环中,指出你有多喜欢比萨。输出应包含针对每种比萨的消息,还有一个总结性句子,如“I ...
2019-01-04 08:56:58 429
原创 课后习题、三
3-8 放眼世界 :想出至少5个你渴望去旅游的地方。将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始Python列表。使用sorted() 按字母顺序打印这个列表,同时不要修改它。 再次打印该列表,核实排列顺序未变。使用sorted() 按与字母顺序相反的顺序打印这个列表,同时不要修改它。 再次打印...
2019-01-04 07:32:41 685
原创 课后习题、二
姓名: 将一些朋友的姓名存储在一个列表中,并将其命名为names 。依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来。问候语: 继续使用练习3-1中的列表,但不打印每个朋友的姓名,而为每人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。自己的列表: 想想你喜欢的通勤方式,如骑摩托车或开汽车,并创建一个包含多种通勤方式的列表。根据该列表打印一系列有关这些通勤方式的...
2019-01-04 06:30:21 346
原创 Python从入门到实践习题、一
个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello Eric, would you liketo learn some Python today?”。调整名字的大小写: 将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。Bob = 'ALICE'print(Bob.title() +'\t' + Bob.upp...
2019-01-04 05:18:20 448
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人