Django 不能直接在中间件中查询数据吗?

Django 不能直接在中间件中查询数据吗?

做了个IP黑名单表,直接在中间件中获取用户IP与数据库对比,然后禁止访问

from django.utils.deprecation import MiddlewareMixin

from pai.apps.index.models import BlackList

# 封禁IP黑名单

class BlackListMiddleware(MiddlewareMixin):

def process_request(self, request):

user_ip = request.META.get('REMOTE_ADDR')

res = BlackList.objects.get(ip=user_ip)

print('处理请求中间件', user_ip, res)

这样写直接报错,中间件中不可以查询数据吗?


回答:

肯定是可以的,把你这个中间件的顺序放到最后试下

以上是 Django 不能直接在中间件中查询数据吗? 的全部内容, 来源链接: utcz.com/p/938587.html

回到顶部