Django报错:变量request未定义,请问出现该错误的原因是什么?
解决Django中「Undefined variable
request」的错误 兄弟,这个问题其实很直观——你的blocks视图函数没把request作为参数传进去啊!
Django的视图函数有个基本规则:必须把request对象作为第一个参数声明。因为Django处理请求时,会自动把封装好的请求对象传给对应的视图函数,你不声明这个参数,函数内部自然找不到request变量,直接就报未定义错误了。
看看你写的这段代码:
def blocks(): if request.method=="GET": return render(request,"blocks.html")
函数定义里没有request参数,但是函数里却直接用了request.method和render(request, ...),Python肯定懵圈啊,它不知道request是啥。
只需要改一行代码就行,给blocks函数加上request作为第一个参数:
from django.shortcuts import render,redirect from F_UI import models def blocks(request): # 这里补上request参数 if request.method=="GET": return render(request,"blocks.html")
这样Django就能把请求对象传给这个函数,你在里面使用request的各种属性和方法就没问题了。
内容的提问来源于stack exchange,提问作者Shikhar Upadhyay




