需要创建在Django中存储所有请求和执行时间的中间件。 我在db
中创建了一个列models.py
class RequestInformation(models.Model):
list_of_requests = models.CharField(max_length=200)
还查看了django文档并创建了middleware.py
from profileapp.models import RequestInformation
class CustomRequestMiddleware(object):
def process_request(self, request):
http_information = RequestInformation(request)
http_information.save()
还在设置中添加了自定义中间件。但不知道接下来该做什么。
TypeError: int() argument must be a string, a bytes-like object or a
number, not 'WSGIRequest'
抱歉愚蠢的问题,没有找到解决这个问题。谢谢提前
答案 0 :(得分:1)
模型实例的第一个位置参数是pk,它是一个int。通常使用关键字参数来指定字段:RequestInformation(list_of_requests=request)
。
然而,这仍然不会做任何有用的事情,因为它只会保存请求对象的字符串表示。如果您希望从该对象中获得任何有用的信息,则需要单独访问其属性,然后再分配给模型中的单独字段。