如何在save model方法DJANGO中获取绝对url?

如何在save model方法DJANGO中获取绝对url?,django,url,model,save,absolute,Django,Url,Model,Save,Absolute,我有这个模型,我需要在save()方法中获得绝对url来执行一些http请求,我如何才能获得它?现在我用的是本地地址 def save(self, *args, **kwargs): super(Annotation, self).save(*args, **kwargs) id = self.shot.id #FIX THIS url = "http://0.0.0.0:8000/api/annotation?shot_id="+str(id) resp

我有这个模型,我需要在save()方法中获得绝对url来执行一些http请求,我如何才能获得它?现在我用的是本地地址

def save(self, *args, **kwargs):
    super(Annotation, self).save(*args, **kwargs)
    id = self.shot.id
    #FIX THIS
    url = "http://0.0.0.0:8000/api/annotation?shot_id="+str(id)
    response = urllib.request.urlopen(url)
    str_response = response.read().decode('utf-8')
    obj = json.loads(str_response)

你可以使用网站框架,看看


答案链接了已弃用的Django 1.9文档,以及最新版本的链接。

您可以使用站点框架,请参阅


答案链接了Django 1.9的文档,该文档已被弃用,是最新版本的链接。

有没有不修改当前模型的解决方案?我不确定是否理解您的问题,您不需要修改当前模型,您只需要按照链接答案中的说明配置站点框架(在“Installatioin is quite easy”下),然后您可以使用
Site.objects.get_current().domain
获取当前域并构建您的绝对URL我始终获取“example.com”网站是否有不修改当前模型的解决方案?我不确定是否理解您的问题,您不需要修改当前模型,只需按照链接答案中的说明(在“Installatioin is quite easy”下)配置网站框架,然后您就可以使用
site.objects.get_current().domain
要获取当前域并构建您的绝对URL,我始终将“example.com”作为网站