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

做电商网站需要会些什么seo的流程是怎么样的

做电商网站需要会些什么,seo的流程是怎么样的,微信代运营公司,昆山教育平台网站建设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 "post"@app.route('/get')
def get():# 获取URL参数中名为name的值,默认为Jackname = request.args.get('name', 'Jack')return f'Hello, {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记录请求中的表单数据MultiDict
args记录请求中的查询参数MultiDict
cookies记录请求中的cookie信息Dict
headers记录请求中的报文头EnvironHeaders
method记录请求使用的HTTP方法GET/POST
url记录请求的URL地址string
files记录请求上传的文件*

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?uid=1中uid参数

from flask import request@app.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(min=5):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 f'Hello, {name}!'    

Response对象

Flask中的Response对象是用于构建 HTTP 响应的类。它继承自 Python 标准库中的werkzeug.wrappers.Response 类,提供了一些方便的方法,如设置响应头、状态码和内容等。

在 Flask 应用程序中,通常使用make_response() 函数来创建一个响应对象。这个函数会根据给定的参数创建一个 Response 对象,并返回该对象。

基本使用

调用 make_response() 函数来创建一个响应对象并将字符串Hello, World设置为响应体。然后,设置响应头部信息 Token,设置响应状态码200 OK,并最终将响应对象返回给客户端。

from flask import make_response@app.route('/')
def index():resp = make_response('Hello World')resp.headers["Token"] = "Python"resp.status = "200 OK"return 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 lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><div><b>姓名:</b><span>{{ name }}</span><br><b>年龄:</b> <span>{{ age }}</span></div>
</body>
</html>

在后端视图,使用render_template方法渲染模板并返回

from flask import render_template@app.route('/')
def index():name = 'Flask'age = 22return render_template('index.html', name=name, age=age)

重定向

在 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 redirect@app.route('/test')
def test():return redirect('http://www.baidu.com')

注意:

在 redirect 函数中传入的 URL 参数可以是相对路径或绝对路径。如果传入的是相对路径,则会基于当前请求的 URL 进行解析,生成最终的重定向目标 URL。如果传入的是绝对路径,则直接使用该路径作为重定向目标 URL。

返回JSON

在 Flask 中,可以使用 jsonify 函数将 Python 对象转换为 JSON 格式,并返回一个包含 JSON 数据的响应对象。

from flask import jsonify@app.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_age=3600)return resp

在设置 cookie 时,可以指定其过期时间、域名、路径等信息。在 Flask 中,可以通过设置 max_age、expires、domain、path 等参数来实现这些功能。

resp.set_cookie('user', 'Tom', max_age=3600, expires=None, domain=None, 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 response

Session会话对象

与Cookie不同,Session(会话)数据存储在服务器上。会话是客户端登录到服务器并注销服务器的时间间隔。需要在该会话中保存的数据会存储在服务器上的临时目录中

Session对象也是一个字典对象,包含会话变量和关联值的键值对。

设置SECRET_KEY

为每个客户端的会话分配会话ID。会话数据存储在cookie的顶部,服务器以加密方式对其进行签名。对于此加密,Flask应用程序需要一个定义的SECRET_KEY。

class DefaultConfig(object):SECRET_KEY = '6512bd43d9caa6e02c990b0a82652dca'app.config.from_object(DefaultConfig)

直接设置

app.secret_key='6512bd43d9caa6e02c990b0a82652dca'

设置会话

from flask import session@app.route('/set')
def set():session['Token'] = 'Python'return '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/240240/

相关文章:

  • 营销网站定制的优势成品网站源码的优化技巧
  • 高职学院网站建设方案广告制作
  • table表格 做的网站营销案例分析报告模板
  • pc端网站做移动适配教育培训机构管理系统
  • 页游传奇排行榜无锡seo优化公司
  • 广西南宁网站设计百度seo算法
  • 网站建设服务怎么样近期国内热点新闻事件
  • 阿里巴巴网站国际站建设seo托管服务
  • 企业网站优化之如何做需求分析网奇seo赚钱培训
  • 施工企业会计制度收入确认规定百度自然排名优化
  • 校园网站建设意义网络营销的特点有哪些
  • 内江做网站哪里便宜google搜索关键词热度
  • 福建省建设银行招聘网站网络推广员压力大吗
  • 动态网站订单怎么做搜索引擎优化营销
  • html5行业网站最近有哪些新闻
  • 做网站业务的怎么寻找客户在哪里打广告效果最好
  • 广东深圳seo服务内容
  • 做网站怎么备案网络服务有限公司
  • 网站主页特效欣赏百度官网下载电脑版
  • php mysql开发网站开发任何小说都能搜到的软件
  • the7 wordpress主题宁波seo外包费用
  • 云南建筑培训网seo刷点击软件
  • 男女做暖网站h5页面制作平台
  • 可以做puzzle的网站百度关键词排名提升工具
  • 竞网网站建设南宁网站seo大概多少钱
  • 114黄页信息网宝鸡seo培训
  • 东南亚做棋牌网站挖掘爱站网
  • 中国工程建设招标网官方网站谷歌查询关键词的工具叫什么
  • wordpress管理员密码忘记成都seo招聘
  • 武汉企业建站系统模板下载官方正版百度