簡體   English   中英

django中SITE_ID設置的用途是什么?

[英]what is the use of SITE_ID settings in django?

當我做SITE_ID教程時,我收到未設置SITE_ID錯誤SITE_ID 我在設置文件中插入了SITE_ID=1 ,一切正常。 但是我不知道這實際上意味着什么。

我通讀了django docs 但我不清楚它的用途。 我什么時候使用SITE_ID = 2之類的東西。

同樣,我在代碼中使用了以下代碼片段,但實際上並不知道它的作用:

current_site=Site.objects.get_current()

我認為這與SITE_ID但可能與無關。

舉例說明SITE_ID可以采用不同於1的值的示例將有所幫助。

如果您在多個站點上使用代碼,或者與另一個站點共享數據庫,這將很有幫助。 文檔中的示例:

from django.db import models
from django.contrib.sites.models import Site
from django.contrib.sites.managers import CurrentSiteManager

class Photo(models.Model):
    photo = models.FileField(upload_to='/home/photos')
    photographer_name = models.CharField(max_length=100)
    site = models.ForeignKey(Site)
    objects = models.Manager()
    on_site = CurrentSiteManager()

使用此模型, Photo.objects.all()將返回數據庫中的所有Photo對象,但是根據SITE_ID設置, Photo.on_site.all()將僅返回與當前站點關聯的Photo對象。

換句話說,這兩個語句是等效的:

Photo.objects.filter(site=settings.SITE_ID)
Photo.on_site.all()

從文檔

SITE_ID默認值:未定義

django_site數據庫表中當前站點的ID(整數)。 使用它是為了使應用程序數據可以掛接到特定站點,並且單個數據庫可以管理多個站點的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM