Flask Python Web框架(二)

flask中模板的继承,请求和响应,配置修改
一、模板

1.静态文件地址的反向解析

url_for('static',filename='<file_path>')
ex:
  url_for('static',filename='images/b041.jpg')
  结果: /static/images/b041.jpg

2.模板的继承

(1)什么是模板的继承

模板的继承类似于类的继承,如果一个模板中出现的内容来自于另一个模板的话,那么就可以使用继承的方式来简化开发

(2)语法

1.父模板

需要定义出哪些东西在子模板中是可以被重写的

{% block 块名 %}
父模板中正常显示的内容
{% endblock %}

block:
1.在父模板中是可以正常显示的,没有任何影响
2.在字模板中是可以被重写的

2.子模板

 1.需要指定继承自哪个父模板

  {% extends '父模板名称' %}

 2.重写父模板中对应的内容

   {% block 块名 %}
  此处编写的内容会覆盖掉父模板中同名block的内容
      允许通过 {{super()}} 来调用父模板中的内容
  {% endblock %}

二、修改配置

1、构建Flask 应用时允许指定的配置信息

  app=Flask(
  __name__,
      template_folder='muban',
  static_url_path='/static',
  static_folder='/statatic')

  template_folder : 指定存放模板的文件夹名称
  static_url_path : 访问静态资源的路径
  http://localhost:5000/static/xxx 查找静态资源文件
  static_folder : 指定存放静态文件的目录名称
		  在项目的根目录中 ,有一个名为 static的目录用于存放静态文件

2、启动程序的运行配置
app.run(
debug = True,
port = 5555,
host = ‘0.0.0.0’
)

host : 指定访问地址,0.0.0.0 表示局域网内的任何机器都可以访问网站

三、请求(request) 和 响应(response)

1.HTTP协议

	Request Headers - 请求消息头
	Response Headers - 响应消息头

2.请求对象 - request

	request - 请求对象,封装了所有与请求相关的信息。如:请求数据,请求消息头,请求路径,... ...
	在Flask中,要使用 request 的话,必须先导入
	from flask import request

	1.request的常用成员

		1.scheme : 获取请求方案(协议)
		2.method : 获取本期请求的请求方式(重点)
		3.args : 获取使用get请求方式提交的数据
		4.form : 获取使用post请求方式提交的数据
		5.cookies : 获取 cookies 的相关信息
		6.headers : 获取 请求消息头 的相关信息
		7.files : 获取上传的文件
		8.path : 获取请求的url地址(进入到主机后的请求资源地址,不包含请求参数)
		9.full_path : 获取请求的url地址(进入到主机后的请求资源地址,包含请求参数)
		10.url : 获取完整的请求地址,从协议开始的地址

	2.获取请求提交的数据

		1.get 请求方式

			1.表单允许实现get请求
				<form action="" method="get">
					姓名:<input name="uname">
				</form>
			2.在请求地址后拼请求提交的参数
				http://localhost:5000/06-get?uname=xxx&upwd=xxx

			获取 get 请求方式提交的数据 :
			        request.args 封装的是get请求的数据

		2.post 请求方式

			post请求只有在表单中才能够被触发
			<form method="post">

			获取 post 请求提交的数据 :
				request.form 封装的就是 post 请求的数据,类型为字典

				request.form['name'] : 获取 name 对应的值
				request.form.get('name') : 获取 name 对应的值
				request.form.getlist('name') : 获取 name 列表数据(如复选框,下拉列表)


      3、响应(response)

      1.什么是响应

	响应就是由服务器端带给客户端的内容,对应着请求。
	响应可以是普通的字符串,模板 或 重定向
		return "普通字符串"
		return render_template('xxx.html')
      2.响应对象

	响应对象:将响应的内容封装到一个对象中,可以完成更多的响应的行为(如:增加cookies,...)

	在Flask中,使用 make_response() 构建响应对象

	from flask import make_response
	@app.route('/xxx')
	def xxx():
		resp = make_response('响应内容')
		# 允许实现其他的响应行为
		
		return resp

     3.重定向

	 1.什么是重定向
		由服务器端通知客户端重新向一个新的地址发送请求

	 2.语法
		from flask import redirect

		return redirect('重定向地址')

		**resp = redirect('重定向地址')
		#可以借助resp实现其他的响应行为
		return resp

猜你喜欢

转载自blog.csdn.net/extremelove520/article/details/84109922