上一篇文章说到了web.py初探之第一个页面hello word,下面我们继续深入web.py编程,来说一下web.py的cookie设置。
cookie相信学过web编程的人并不陌生,它在web编程中担任着非常重要的角色。用户登录、验证码、session(基于cookie)、语言选择器、身份识别等等都会有cookie的身影。那么怎么样在web.py中设置cookie呢?
其实在web.py中设置cookie非常简单,web.py早已经为我们想到了这一点,提供了一个非常简单有用的函数:
setcookie(name, value, expires="", domain=None, secure=False)
参数详解:
name (string) - Cookie的名称,由浏览器保存并发送至服务器。
value (string) -Cookie的值,与Cookie的名称相对应。
expires (int) - Cookie的过期时间,这是个可选参数,它决定cookie有效时间是多久。以秒为单位。它必须是一个整数,而绝不能是字符串。可选参数,不写该参数则默认永久有效。
domain (string) - Cookie的有效域-在该域内cookie才是有效的。一般情况下,要在某站点内可用,该参数值该写做站点的域(比如.webpy.org),而不是站主的主机名(比如wiki.webpy.org),可选参数
secure (bool)- 如果为True,要求该Cookie只能通过HTTPS传输。可选参数
例如:
#设置website的值为www.pythontab.com,有效期60秒 web.setcookie("website", "www.pythontab.com", 60)
示例
用web.setcookie() 设置cookie,如下:
class CookieSet: def GET(self): i = web.input(age='25') web.setcookie('age', i.age, 3600) return "Age set in your cookie"
用 GET方式调用上面的类将设置一个名为age,默认值是25的cookie(实际上,默认值25是在web.input中赋予i.age的,从而间接赋予 cookie,而不是在setcookie函式中直接赋予cookie的)。这个cookie将在一小时后(即3600秒)过期。
web.setcookie()的第三个参数-"expires"是一个可选参数,它用来设定cookie过期的时间。如果是负数,cookie将立刻过期。如果是正数,就表示cookie的有效时间是多久,以秒为单位。如果该参数为空,cookie就永不过期。
获得Cookies
概述
获取Cookie的值有很多方法,它们的区别就在于找不到cookie时如何处理。
方法1(如果找不到cookie,就返回None):
通过get方法获得
#通过设置的cookie的名字获取cookie,例如website #web.cookies().get("website") web.cookies().get(cookieName)
方法2(如果找不到cookie,就抛出AttributeError异常):
#先把cookie对象赋值给一个变量,然后通过cookie的名字获得 #例如:foo.website foo = web.cookies() foo.cookieName
方法3(如果找不到cookie,可以设置默认值来避免抛出异常):
#该方法最大的特点就是可以设置cookie的默认值 foo = web.cookies(cookieName=defaultValue) #如果不存在该cookieName,就会返回设置的默认cookie foo.cookieName
如果要确认cookie值是否存在,
可以这样做:
class CookieGet: def GET(self): try: return "Your website name is: " + web.cookies().website except: #抛出异常处理 return "Cookie 不存在."
或
class CookieGet: def GET(self): #先进行赋值 website = web.cookies().get('website') if age: return "Your website name is: %s" % website else: return "Cookie 不存在."

Python脚本在Unix系统上无法运行的原因包括:1)权限不足,使用chmod xyour_script.py赋予执行权限;2)Shebang行错误或缺失,应使用#!/usr/bin/envpython;3)环境变量设置不当,可打印os.environ调试;4)使用错误的Python版本,可在Shebang行或命令行指定版本;5)依赖问题,使用虚拟环境隔离依赖;6)语法错误,使用python-mpy_compileyour_script.py检测。

使用Python数组比列表更适合处理大量数值数据。1)数组更节省内存,2)数组对数值运算更快,3)数组强制类型一致性,4)数组与C语言数组兼容,但在灵活性和便捷性上不如列表。

列表列表更好的forflexibility andmixDatatatypes,何时出色的Sumerical Computitation sand larged数据集。1)不可使用的列表xbilese xibility xibility xibility xibility xibility xibility xibility xibility xibility xibility xibles and comply offrequent elementChanges.2)

numpymanagesmemoryforlargearraysefefticefticefipedlyuseviews,副本和内存模拟文件.1)viewsAllowSinglicingWithOutCopying,直接modifytheoriginalArray.2)copiesCanbecopy canbecreatedwitheDedwithTheceDwithThecevithThece()methodervingdata.3)metservingdata.3)memore memore-mappingfileShessandAstaStaStstbassbassbassbassbassbassbassbassbassbassbb

Listsinpythondonotrequireimportingamodule,helilearraysfomthearraymoduledoneedanimport.1)列表列表,列表,多功能和canholdMixedDatatatepes.2)arraysaremoremoremoremoremoremoremoremoremoremoremoremoremoremoremoremoremeremeremeremericdatabuteffeftlessdatabutlessdatabutlessfiblesible suriplyElsilesteletselementEltecteSemeTemeSemeSemeSemeTypysemeTypysemeTysemeTypysemeTypepe。

pythonlistscanStoryDatatepe,ArrayModulearRaysStoreOneType,and numpyArraySareSareAraysareSareAraysareSareComputations.1)列出sareversArversAtileButlessMemory-Felide.2)arraymoduleareareMogeMogeNareSaremogeNormogeNoreSoustAta.3)

WhenyouattempttostoreavalueofthewrongdatatypeinaPythonarray,you'llencounteraTypeError.Thisisduetothearraymodule'sstricttypeenforcement,whichrequiresallelementstobeofthesametypeasspecifiedbythetypecode.Forperformancereasons,arraysaremoreefficientthanl

pythonlistsarepartofthestAndArdLibrary,herilearRaysarenot.listsarebuilt-In,多功能,和Rused ForStoringCollections,而EasaraySaraySaraySaraysaraySaraySaraysaraySaraysarrayModuleandleandleandlesscommonlyusedDduetolimitedFunctionalityFunctionalityFunctionality。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

WebStorm Mac版
好用的JavaScript开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

记事本++7.3.1
好用且免费的代码编辑器

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器