嘿,各位Django侠客们!想象一下这个场景:你走进一家神奇的餐厅(你的Django网站),刚坐下,一位训练有素的侍应生(Request对象)就立刻出现在你面前。他不仅记住了你的座位号(IP地址),还知道你偏爱用筷子还是刀叉(User-Agent),并且把你点的菜(表单数据)、甚至你想投诉的意见(POST请求)都一字不落地记了下来。
这位侍应生,就是Django里的 HttpRequest对象,我们通常亲切地叫它 request。今天,咱就把他请到台前,好好盘一盘他的十八般武艺!
第一幕:Request对象从哪儿来?—— 一场命中注定的相遇
首先,别怕,request 不是凭空变出来的。它是Django在你每次访问一个URL时,自动创造并传递给对应视图函数的一个“超级对象”。你几乎在任何视图里都能看到它的身影。
# 在 views.py 里,你肯定写过这样的函数
from django.http import HttpResponse
def my_view(request): # 看!它来了!它带着信息走来了!
# 你的逻辑代码在这里
return HttpResponse("Hello, World!")
看那个 request 参数!它就是今天的主角。Django框架把来自用户浏览器的所有信息,都封装进了这个对象里,然后塞到你的函数手里。所以,你的工作不是去创造它,而是如何巧妙地使用它。
第二幕:开箱!Request对象的“百宝袋”里都有啥?
这位侍应生口袋里装的东西,那可真是琳琅满目。我们分类来看看:
1. 关于“你是谁?”——基础元信息
request.method: 这是最重要的属性之一!它告诉你客人是来“点餐”的(GET)还是来“提交意见/下单”的(POST)。处理表单时,全靠它来判断。
if request.method == 'POST':
# 处理表单提交
do_something()
else:
# 显示空表单
show_form()
request.path: 客人具体要的是哪个菜。比如你访问/about/,这个属性就是"/about/"。request.GET: 一个类似字典的对象,装着URL里?后面的所有参数。比如/search?q=django&page=2,那么request.GET['q']就是

最低0.47元/天 解锁文章
329

被折叠的 条评论
为什么被折叠?



