如何在Django中更改站点的名称,域名

时间:2011-06-05 03:20:33

标签: django

我可以在管理面板中更改域名和站点的名称(http://127.0.0.1:8000/admin)。但是,当我尝试直接对表django_site中的数据库进行更改时,它不会反映在管理面板中(也不会反映在激活电子邮件中发送的链接的URL中)。

为什么此更改无法直接在数据库中运行,如何更改除管理面板之外的站点/域?

1 个答案:

答案 0 :(得分:1)

根据docs,Django会在第一次请求时缓存该网站。因此,您需要致电Site.objects.clear_cache()

  

由于当前网站存储在   数据库,每次调用   Site.objects.get_current()可以   导致数据库查询。但是Django   比那更聪明:在...上   第一个请求,当前站点是   缓存,以及任何后续调用   返回缓存的数据而不是   打到数据库。

     

如果出于任何原因你想强迫一个   数据库查询,你可以告诉Django   使用清除缓存   Site.objects.clear_cache()