web.py, похоже, не может удалить cookie. Если вы просматриваете документацию в поваренной книге , она редкая и даже не говорит о таких вещах, как путь (поэтому вы можете установить cookie в определенном месте в домене). Поэтому мы должны обратиться к исходному коду . В этом, как я ни стараюсь, я не могу найти ссылки на метод удаления, удаления или отзыва файлов cookie.
Сказав, что после тестирования можно безопасно использовать None для истечения срока действия cookie. Вот быстрое веб-приложение, которое отобразит его.
import web
web.config.debug = False
urls = (
'/', 'index'
)
class index:
def GET(self):
c = web.cookies().get('test1')
if c:
if c=="test":
print 'this is ' + c
web.setcookie('test1', 'test2', domain = 'example.com')
else:
print c
web.setcookie('test1', 'test', domain = 'example.com' expires = None)
return c
else:
print "didnt find cookie"
web.setcookie('test1', 'test', domain = 'example.com' expires='')
return 'I set fire to the rain'
app = web.application(urls, globals())
if __name__ == "__main__":
app.run()
В этом веб-приложении сначала проверяется, существует ли cookie. Если это не так, он устанавливает cookie «test1» со значением «test». При следующем обновлении значение изменится на «test2». При следующем обновлении он снова устанавливает значение «test», но также истекает срок действия cookie. Это должно привести к следующему обновлению, показывающему «Я поджег дождь».