2017-03-29 34 views
0

我已经安装Django的站点框架在我的项目,实际上 ,我想Django的用户结合特定网站链接Django的用户perticular网站站点框架

我想实现的是,当用户注册从特定站点或子站点注册到站点框架,那么该用户必须链接到该特定站点,以便我们可以限制用户使用其站点站点凭证登录到其他站点。

回答

1

在为不同的网站,你可以指定单独的 “用户” 数据库的设置文件,https://docs.djangoproject.com/en/1.10/topics/db/multi-db/

#in site1 settings.py 
DATABASES = { 
    'default': { 
     'NAME': 'app_data', 
     'ENGINE': 'django.db.backends.mysql', 
     'USER': 'mysql_user', 
     'PASSWORD': 'priv4te' 
    }, 
    'users': { 
     'NAME': 'user_data_site1', 
     'ENGINE': 'django.db.backends.mysql', 
     'USER': 'mysql_user', 
     'PASSWORD': 'priv4te' 
    } 
} 

#in site2 settings.py 
DATABASES = { 
    'default': { 
     'NAME': 'app_data', 
     'ENGINE': 'django.db.backends.mysql', 
     'USER': 'mysql_user', 
     'PASSWORD': 'priv4te' 
    }, 
    'users': { 
     'NAME': 'user_data_site2', 
     'ENGINE': 'django.db.backends.mysql', 
     'USER': 'mysql_user', 
     'PASSWORD': 'priv4te' 
    } 
} 
+0

这可能是个好主意需要一个数据库,但像上述模型differenciate根据用户现场但有一个问题请参考我的答案 –

0

根据https://docs.djangoproject.com/en/1.10/ref/contrib/sites/

我们绑定模型 `

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

class Article(models.Model): 
    headline = models.CharField(max_length=200) 
    # ... 
    site = models.ForeignKey(Site, on_delete=models.CASCADE) 

`

所以如果我们使用不同的数据库,不同的网站,那么有没有这方面的意义,因为现场表还针对不同网站的变化右

我使用外键