当前位置: 首页 > news >正文

铜山区建设局招投标网站关于网站设计的书籍

铜山区建设局招投标网站,关于网站设计的书籍,可以做初中地理题的网站,廊坊百度关键词排名平台Request、Response、Cookies、Session等对象的使用 Request对象基本使用参数的获取转换器内置转换器自定义转换器 Response对象基本使用返回模板重定向返回JSON Cookies对象设置cookie获取cookie删除cookie Session会话对象设置SECRET_KEY设置会话获取会话释放会话 Request对象… Request、Response、Cookies、Session等对象的使用 Request对象基本使用参数的获取转换器内置转换器自定义转换器 Response对象基本使用返回模板重定向返回JSON Cookies对象设置cookie获取cookie删除cookie Session会话对象设置SECRET_KEY设置会话获取会话释放会话 Request对象 Flask Request对象是一个封装了HTTP请求信息的类它提供了访问HTTP请求的各种属性和方法如URL参数、表单数据、文件上传等。 可以通过request变量来访问该对象在Flask应用中接收并处理来自客户端发送的HTTP请求。例如可以使用request.method获取HTTP请求方法使用request.args.get(key)获取URL参数使用request.form.get(key)获取表单数据。 Request对象的重要属性 属性说明Form它是一个字典对象包含表单参数及其值的键和值对args解析查询字符串的内容它是问号之后的URL的一部分Cookies保存Cookie名称和值的字典对象files与上传文件有关的数据method当前请求方法 基本使用 使用Flask Request对象需要在Flask应用程序中导入request模块。 from flask import Flask, requestapp Flask(__name__)app.route(/) def student():return render_template(index.html)app.route(/post,methods [POST, GET]) def post():if request.method POST:# request.form:表单数据result request.formprint(result)return postapp.route(/get) def get():# 获取URL参数中名为name的值默认为Jackname request.args.get(name, Jack)return fHello, {name}!app.route(/upload, methods[POST]) def upload():# 获取上传文件对象file request.files[file]if file:return File uploaded successfully.if __name__ __main__:app.run()参数的获取 在 Flask 中可以通过request对象获取请求的参数。不同位置的参数都存放在request的不同属性中 属性说明类型data记录请求的数据并转换为字符串*form记录请求中的表单数据MultiDictargs记录请求中的查询参数MultiDictcookies记录请求中的cookie信息Dictheaders记录请求中的报文头EnvironHeadersmethod记录请求使用的HTTP方法GET/POSTurl记录请求的URL地址stringfiles记录请求上传的文件* 1.获取 GET 请求参数 request.args.get(参数名)2.获取 POST 请求参数 request.form.get(参数名)request.values.get(参数名)注意前者只能获取表单数据后者既可以获取表单数据也可以获取 URL 查询字符串中的数据。 3.获取上传的文件 request.files[文件字段名]注意如果请求中不存在指定的参数或文件上述方法会返回None 4.获取多个值相同的参数 这些方法会返回一个列表其中包含所有同名参数的值。 request.args.getlist(参数名) request.form.getlist(参数名) request.values.getlist(参数名)使用示例 获取请求/user?uid1中uid参数 from flask import requestapp.route(/user) def user():uid request.args.get(uid)return USER ID: {}.format(uid) 客户端上传图片到服务器并保存到服务器中 app.route(/upload, methods[POST]) def upload_file():f request.files[pic]# with open(./upload.png, wb) as new_file:# new_file.write(f.read())f.save(./upload.png)return upload successful转换器 Flask不同于Django直接在定义路由时编写正则表达式的方式而是采用转换器。使用转换器实现匹配URL路径参数、动态路由将URL中的变量转换为Python 对象并将其传递给视图函数。 假设有一个请求访问接口地址为:/users/1其中1是具体请求参数 app.route(/user/uid) def user(uid):print(type(uid))return USER ID: {}.format(uid)即是一个转换器默认为字符串类型兼容数值将该位置的数据以字符串格式进行匹配、并以字符串为数据类型、 uid为参数名传入视图。 内置转换器 Flask中的Flask内置了常见的转换器 DEFAULT_CONVERTERS: t.Mapping[str, t.Type[BaseConverter]] {default: UnicodeConverter,string: UnicodeConverter,any: AnyConverter,path: PathConverter,int: IntegerConverter,float: FloatConverter,uuid: UUIDConverter, }以整型匹配数据 app.route(/user/int:uid) def user(uid):print(type(uid))return USER ID: {}.format(uid)app.route(/user/int(min5):uid) def user(uid):print(type(uid))return USER ID: {}.format(uid)自定义转换器 当Flask内置的转换器就无法满足需求时Flask还允许自定义转换器来处理更加特殊的需求。自定义转换器需要继承自werkzeug.routing.BaseConverter 类。 from flask import Flaskapp Flask(__name__)from werkzeug.routing import BaseConverter# 1.定义转换器类继承⾃baseconverter class EmailConverter(BaseConverter):# 指定匹配时的正则表达式regex r^[a-zA-Z0-9._%-][a-zA-Z0-9.-]\.[a-zA-Z]{2,}$class UpperConverter(BaseConverter):def to_upper(self, value):return value.upper()# 2.将自定义转换器添加到转换器字典中并指定转换器使用时名字为: email app.url_map.converters[email] EmailConverter app.url_map.converters[upper] UpperConverter# 3.在使用转换器的地方定义使用即在装饰器中使⽤转换器 app.route(/send_email/email:to_email) def send_sms_code(to_email):return send email to {}.format(to_email)app.route(/upper:name) def hello(name):return fHello, {name}! Response对象 Flask中的Response对象是用于构建 HTTP 响应的类。它继承自 Python 标准库中的werkzeug.wrappers.Response 类提供了一些方便的方法如设置响应头、状态码和内容等。 在 Flask 应用程序中通常使用make_response() 函数来创建一个响应对象。这个函数会根据给定的参数创建一个 Response 对象并返回该对象。 基本使用 调用 make_response() 函数来创建一个响应对象并将字符串Hello, World设置为响应体。然后设置响应头部信息 Token设置响应状态码200 OK并最终将响应对象返回给客户端。 from flask import make_responseapp.route(/) def index():resp make_response(Hello World)resp.headers[Token] Pythonresp.status 200 OKreturn resp还可以通过元祖方式进行响应 返回一个元组元组必须是 (response, status, headers) 的形式且至少包含一个元素。 status 值会覆盖状态代码 headers可以是一个列表或字典作为额外的消息标头值。 app.route(/) def index():# return Hello Wold, 500return Hello Wold, 200, {Token: Python}返回模板 在templates目录新建一个模板index.html !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head bodydivb姓名/bspan{{ name }}/spanbrb年龄/b span{{ age }}/span/div /body /html在后端视图使用render_template方法渲染模板并返回 from flask import render_templateapp.route(/) def index():name Flaskage 22return render_template(index.html, namename, ageage)重定向 在 Flask 中可以使用 redirect 函数进行重定向。该函数位于 flask 模块中可以接受一个 URL 参数作为重定向的目标。调用时它返回一个响应对象并将用户重定向到具有指定状态代码的另一个目标位置 当用户访问根URL/ 时会调用index函数并在其中调用 redirect 函数将用户重定向到login视图函数所对应的 URL。 from flask import Flask, redirect, url_forapp Flask(__name__)app.route(/) def index():return redirect(url_for(login))app.route(/login) def login():return Login page当访问URL/test 时会重定向到baidu.com from flask import redirectapp.route(/test) def test():return redirect(http://www.baidu.com)注意: 在 redirect 函数中传入的 URL 参数可以是相对路径或绝对路径。如果传入的是相对路径则会基于当前请求的 URL 进行解析生成最终的重定向目标 URL。如果传入的是绝对路径则直接使用该路径作为重定向目标 URL。 返回JSON 在 Flask 中可以使用 jsonify 函数将 Python 对象转换为 JSON 格式并返回一个包含 JSON 数据的响应对象。 from flask import jsonifyapp.route(/) def index():json_dict {name: Flask,age: 22}return jsonify(json_dict)注意: 在返回 JSON 数据之前需要将Python对象转换为JSON格式。可以使用 json.dumps()函数完成这个转换过程。但是在 Flask 中通常使用 jsonify() 函数来代替 json.dumps() 函数因为 jsonify() 函数除了将对象转换为 JSON 格式外还会设置正确的 MIME 类型以及处理跨域访问等问题。 Cookies对象 Request对象包含Cookie对象属性它是所有cookie变量及其对应值的字典对象 设置cookie 设置cookie,默认有效期是临时cookie,浏览器关闭就失效 app.route(/set) def set():resp make_response(Hello World)resp.set_cookie(Token, Python , max_age3600)return resp在设置 cookie 时可以指定其过期时间、域名、路径等信息。在 Flask 中可以通过设置 max_age、expires、domain、path 等参数来实现这些功能。 resp.set_cookie(user, Tom, max_age3600, expiresNone, domainNone, path/)max_age 参数表示 cookie 的最大存活时间单位为秒expires 参数表示 cookie 的过期时间可以是一个 datetime 对象或时间戳domain 参数表示 cookie 可以被发送到哪些域名path 参数表示 cookie 在哪些路径下可用获取cookie 获取cookie通过request.cookies的方式 返回的是一个字典可以获取字典里的相应的值 app.route(/get) def get():resp request.cookies.get(Token)return resp删除cookie 删除只是让cookie过期并不是直接删除cookie通过delete_cookie()的方式 app.route(/delete) def delete():response make_response(Successfully)response.delete_cookie(Token)return responseSession会话对象 与Cookie不同Session会话数据存储在服务器上。会话是客户端登录到服务器并注销服务器的时间间隔。需要在该会话中保存的数据会存储在服务器上的临时目录中 Session对象也是一个字典对象包含会话变量和关联值的键值对。 设置SECRET_KEY 为每个客户端的会话分配会话ID。会话数据存储在cookie的顶部服务器以加密方式对其进行签名。对于此加密Flask应用程序需要一个定义的SECRET_KEY。 class DefaultConfig(object):SECRET_KEY 6512bd43d9caa6e02c990b0a82652dcaapp.config.from_object(DefaultConfig)直接设置 app.secret_key6512bd43d9caa6e02c990b0a82652dca设置会话 from flask import sessionapp.route(/set) def set():session[Token] Pythonreturn Successfully 获取会话 可以在 Flask 应用程序中的任何地方访问这个Session变量 app.route(/get) def get():Token session.get(Token)return session : {}.format(Token)释放会话 app.route(/pop) def pop():session.pop(Token, None)return OK
http://www.hkea.cn/news/14322677/

相关文章:

  • 外贸建站新闻资讯微趋道官网手机小程序制作
  • 网站建设临沂wordpress分销平台
  • 番禺网站建设优化福田园岭网站建设
  • 网站后台数据改不了大悟网站设计
  • 网站开发毕业设计开课题目比较好的网站搭建论坛
  • 用中文模版可以做英文网站吗wordpress备份至七牛
  • 企业网站建设总结酒店网站解决方案
  • 山西运城网站建设郴州信息港网站
  • 政务公开既网站信息化建设会议wordpress设置积分阅读
  • 制作好的网站自己做电影网站需要什么
  • 简单的购物网站开发手机设计软件拉图
  • 网站与域名的区别网页制作基础教程慕课版电子版
  • 微信与与网站建设郑州建站以来
  • cms三合一网站源码wordpress 工作室主题
  • 优设设计师网站wordpress升级机制
  • 东城建设网站洛龙区网站设计建设
  • 珠海网站设计价格微信商城是什么
  • 对网站做打包备份处理代码优化
  • 做网站用方正字体可以额的深圳网站建设制作设计企业
  • 北京网站的建立的网页设计指什么
  • 买域名做网站企商百度网站建设
  • 路由器可以做网站服务器吗wordpress教程 下载
  • seo站网站建设服务哪家好 价格多少钱
  • 河南省建设银行网站长沙开发网站
  • 网站模板安装步骤搞钱的路子网站
  • 南京做网站公司地点seo技术培训泰州
  • 可以跟关键词密度过高的网站交换友情链接吗网站结构怎么优化
  • 快捷的赣州网站建设扬州网站建设制作
  • 企业网站建设怎么做嘉兴网站推广平台
  • 云和建设局网站h5交互设计