Python 在Django中使用HttpRequest.build_absolute_uri(位置)时出错

Python 在Django中使用HttpRequest.build_absolute_uri(位置)时出错,python,django,Python,Django,我的代码: from django.http import HttpRequest admin_subject = "New question added" admin_message = "A new question has been successfully added. Please review and approve it." location = reverse("admin:appname_question_change", args=(new_question.pk,)) u

我的代码:

from django.http import HttpRequest

admin_subject = "New question added"
admin_message = "A new question has been successfully added. Please review and approve it."
location = reverse("admin:appname_question_change", args=(new_question.pk,))
url = HttpRequest.build_absolute_uri(location)
admin_html_message = "<h3>%s</h3>\
                        <p>%s</p>\
                        <a href='%s'>%s</a>" % (admin_subject, admin_message, url, url)
mail_admins(admin_subject, admin_message, fail_silently=False, connection=None, html_message=admin_html_message)
我尝试了很多,但不知道是什么导致了这个错误。
我希望绝对uri通过电子邮件发送。

我认为您收到的错误非常明确
build\u absolute\u uri
是一个实例方法,因此应该由
HttpRequest
实例调用

>>> from django.http import HttpRequest

>>> request = HttpRequest()
>>> location = reverse("admin:appname_question_change", args=(new_question.pk,))
>>> url = request.build_absolute_uri(location)
>>> from django.http import HttpRequest

>>> request = HttpRequest()
>>> location = reverse("admin:appname_question_change", args=(new_question.pk,))
>>> url = request.build_absolute_uri(location)