Django comes with an optional “sites” framework. It’s a hook for associating objects and functionality to particular Web sites, and it’s a holding place for the domain names and “verbose” names of your Django-powered sites.
你可以用这个方法
from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.contrib.sites.models import Site
current_site = Site.objects.get_current()
if 'userportal' in current_site.domain:
urlpatterns = patterns('',
url(r'', include('userapp.urls')),
url(r'^admin/', include(admin.site.urls)),
)
else:
urlpatterns = patterns('',
url(r'', include('corporateapp.urls')),
url(r'^admin/', include(admin.site.urls)),
)
也许你可以看看
Django Site Framework
。来自Django官方文件:你可以用这个方法
您应该向Site Table添加所需数量的条目,并在已安装的应用程序中添加
^{pr2}$django.contrib.sites
应用程序,并将Site_ID变量添加到绑定了正确站点ID的设置中。如果没有可用的域信息(例如在开发会话中),请使用Site_ID=1。有关此post中站点标识的详细信息。 在我的设置中,我使用以下方法:我在我的每一个enrivorites中设置了正确的SITE_ID变量。在
您将有单独的设置文件,因此为每个域定义不同的
ROOT_URLCONF
。在更新:如果不想使用不同的设置,则必须编写中间件,该中间件将使用} 属性。这是example of such middleware。在
HTTP_HOST
头来更改^{相关问题 更多 >
编程相关推荐