【发布时间】:2014-12-15 21:17:48
【问题描述】:
我正在使用django-subdomains package 创建子域。问题是,无论我如何配置 SUBDOMAIN_URLCONFS,站点总是指向我在 ROOT_URLCONF 中作为默认设置的任何内容。任何关于我做错了什么的见解将不胜感激!
编辑:添加 MIDDLEWARE_CLASSES
mysite/settings.py
...
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'subdomains.middleware.SubdomainURLRoutingMiddleware',
)
...
ROOT_URLCONF = 'mysite.urls'
SUBDOMAIN_URLCONFS = {
None: 'mysite.urls',
'www': 'mysite.urls',
'myapp': 'myapptwo.test',
}
...
mysite/urls.py
from django.conf.urls import patterns, include, url
from myapp import views
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^admin/', include(admin.site.urls)),
)
myapp/views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(Request):
return HttpResponse("Hello world.")
myapptwo/urls.py
from django.conf.urls import patterns, include, url
from myapptwo import views
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^admin/', include(admin.site.urls)),
)
myapptwo/views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(Request):
return HttpResponse("Hello world. This is the myapptwo subdomain!")
【问题讨论】:
-
您是否将
subdomains.middleware.SubdomainURLRoutingMiddleware添加到您的中间件配置中? -
是的,我的 MIDDLEWARE_CLASSES 里面确实有这个。
-
什么是'myapptwo.test'?尝试使用“myapptwo.urls”。子域需要指向每个子域的url配置。
标签: python django subdomain middleware