globals 模块

此文件是Web2py Web框架的一部分
版权所有:Massimo di Pierro<mdipierro@cs.depaul.edu>

包含全局使用变量的类:

  • 请求

  • 响应

  • 会话

class gluon.globals.Request(env)[源代码]

基类:gluon.storage.Storage

定义请求对象及其成员的默认值

  • env:环境变量,按gluon.main.wsgibase()。

  • cookie

  • get_vars

  • post_vars

  • 瓦尔斯

  • 文件夹

  • 应用

  • 功能

  • 方法

  • 阿尔茨海默病

  • 延伸

  • 现在:datetime.datetime.now()。

  • utcnow:datetime.datetime.utcnow()。

  • is_local

  • is_https

  • REST()

property body
compute_uuid()[源代码]
property get_vars

惰性地将查询字符串解析为get变量

parse_all_vars()[源代码]

合并获取变量并将变量发布到变量

parse_get_vars()[源代码]

获取查询字符串并将其解包以获取变量

parse_post_vars()[源代码]

获取请求的主体并将其解包到post变量中。应用程序/json也会自动解析

property post_vars

懒洋洋地把尸体分析成后vars

requires_https()[源代码]

如果请求通过HTTP传入,则将其重定向到HTTPS并确保会话安全。

restful(ignore_extension=False)[源代码]
user_agent()[源代码]
property uuid

懒洋洋

property vars

懒惰地解析所有的get vars和post vars来填充vars

class gluon.globals.Response[源代码]

基类:gluon.storage.Storage

定义响应对象及其成员响应的默认值。写入()可用于在输出HTML中写入

download(request, db, chunk_size=65536, attachment=True, download_filename=None)[源代码]

控制器使用示例:

def download():
    return response.download(request, db)

从http://…./download/filename下载

include_files(extensions=None)[源代码]

包括文件(通常在头部)。默认情况下,可以缩小和缓存本地文件,在RAM中缓存5分钟。要更改,response.cache_includes=(cache_method,time_expire)。示例:(cache.disk,60)缓存到磁盘1分钟。

include_meta()[源代码]
json(data, default=None, indent=None)[源代码]
render(*a, **b)[源代码]
stream(stream, chunk_size=65536, request=None, attachment=False, filename=None)[源代码]

如果在控制器功能中:

return response.stream(file, 100)

文件内容将以100字节的速度传输。

参数
  • stream -- 文件名或read()可读取内容

  • chunk_size (int) -- 缓冲区大小

  • request -- 请求对象

  • attachment (bool) -- 准备正确的头文件作为附件下载。通常在浏览器上创建一个弹出的下载窗口

  • filename (str) -- 附件的名称

注解

要将流名称(文件名)与附件一起使用,必须将选项显式设置为函数参数(否则将默认为最后一个请求参数)。

toolbar()[源代码]
write(data, escape=True)[源代码]
xmlrpc(request, methods)[源代码]
class gluon.globals.Session[源代码]

基类:gluon.storage.Storage

定义会话对象及其成员的默认值(无)

  • 会话存储类型:“文件”、“数据库”或“cookie”

  • 会话cookie压缩级别:

  • 会话cookie过期:cookie过期

  • 会话cookie密钥:用于cookie中加密的会话

  • 会话ID:一个数字,如果没有会话,则为无。

  • 会话名称:

  • 会话已锁定:

  • 会话主应用程序:

  • 会话新建:正在创建新的会话对象

  • session_hash:pickled loaded session的hash

  • 会话_pickled:已选择的会话

如果cookie中的会话:

  • 会话数据名称:会话数据的cookie名称

如果会话在数据库中:

  • session_db_record_id

  • session_db_table

  • session_db_unique_key

如果文件中的会话:

  • session_file

  • session_filename

REGEX_SESSION_FILE = '^(?:[\\w-]+/)?[\\w.-]+$'
clear() → None. Remove all items from D.[源代码]
clear_session_cookies()[源代码]
connect(request=None, response=None, db=None, tablename='web2py_session', masterapp=None, migrate=True, separate=None, check_client=False, cookie_key=None, cookie_expires=None, compression_level=None)[源代码]

在模型中使用,允许自定义会话处理

参数
  • request -- 请求对象

  • response -- 响应对象

  • db -- 在数据库中存储/检索会话(创建一个表)

  • tablename (str) -- 表名

  • masterapp (str) -- 指向他人的应用程序会话。这在应用程序之间启用了“SSO”环境。

  • migrate -- 传递到基础数据库

  • separate -- 如果为true,则创建具有会话ID的两个首字母的文件夹。也可以是函数,例如::separate=lambda(会话名称):会话名称 [-2:]

  • check_client -- 如果为真,会话只能来自同一IP

  • cookie_key (str) -- cookie加密的秘密

  • cookie_expires -- 设置cookie的过期时间

  • compression_level (int) -- 0-9,在加密前对数据设置zlib压缩

forget(response=None)[源代码]
is_expired(seconds=3600)[源代码]
is_new()[源代码]
renew(clear_session=False)[源代码]
samesite(mode='Lax')[源代码]
secure()[源代码]