You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django视图中获取请求方法报错:Unresolved reference 'request'

Django中获取request方法的正确方式

你遇到的Unresolved reference 'request'错误,核心原因是Django的request对象不是通过导入获取的,它是由框架在调用视图时自动传入的参数。

正确实现方式

1. 函数视图(FBV)

定义视图函数时,必须将request作为第一个参数,直接在函数内使用request.method判断请求类型:

from django.http import HttpResponse

def my_view(request):
    if request.method == 'POST':
        # 编写POST请求的处理逻辑
        return HttpResponse("处理POST请求")
    # 处理GET或其他请求
    return HttpResponse("非POST请求")

2. 类视图(CBV)

基于类的视图中,可通过self.request访问请求对象,或者直接在对应请求方法(如post()、get())的参数中获取:

from django.views import View
from django.http import HttpResponse

class MyView(View):
    def post(self, request):
        return HttpResponse("处理POST请求")
    
    def get(self, request):
        return HttpResponse("处理GET请求")
    
    # 若需在其他方法中判断,使用self.request.method
    def some_method(self):
        if self.request.method == 'POST':
            # 逻辑处理
            pass

关键提醒

不要尝试导入request——Django里没有可直接导入的request模块/对象,每个请求的request都是独立的,由框架自动注入到视图中,那些导入选项对你的需求完全没用。

内容的提问来源于stack exchange,提问作者xi chen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 05:25:24