【问题标题】:Django-hosts wrong URLS.pyDjango 托管错误的 URLS.py
【发布时间】:2016-07-27 14:08:11
【问题描述】:

我正在尝试配置类似的东西

user2.example.com -> 加载 urls_user.py www.example.com -> 加载 urls.py

我现在面临的问题是所有内容都是通过 urls_user.py 加载的

我正在使用来自 https://django-hosts.readthedocs.io/en/latest/ 的 django-hosts

settings.py


MIDDLEWARE_CLASSES = (
    'django_hosts.middleware.HostsRequestMiddleware' ,
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'user_shop.subdomainMiddleware.subdomainMiddleware',
    'django_hosts.middleware.HostsResponseMiddleware'
)

ROOT_URLCONF = 'e_com.urls'
ROOT_HOSTCONF = 'e_com.hosts'
DEFAULT_HOST = "www"


hosts.py

from django.conf import settings
from django_hosts import patterns, host

host_patterns = patterns('',
    host(r'www', settings.ROOT_URLCONF, name='www'),
    host(r'127', settings.ROOT_URLCONF, name='127'),
    host(r'(?!www)\w+', 'e_com.urls_user', name='wildcard'),
)

即使我删除了与 urls_user 相关的所有内容,它仍然会加载该文件。

我正在使用 localhost 并使用 hexxie:8000 来运行我的子域。

--------编辑-----

我在我安装的应用程序中有 django_hosts,事情是它工作了一次,直到我关闭我的服务器并重新启动它,从那时起问题一直存在到现在。

'user_shop.subdomainMiddleware.subdomainMiddleware'只是一个获取子域的脚本

class subdomainMiddleware:

def process_request(self,request):
    domain_parts = request.get_host().split('.')
    subdomain = "www"
    if(len(domain_parts) > 2):
        subdomain = domain_parts[0].lower()

    request.subdomain = subdomain

如果我执行 pip freeze 这将显示

  altgraph==0.10.2
bdist-mpkg==0.5.0
bonjour-py==0.3
Django==1.8.3
django-hosts==1.4
django-subdomains==2.0.4
macholib==1.5.1
matplotlib==1.3.1
modulegraph==0.10.4
mysql==0.0.1
MySQL-python==1.2.5
numpy==1.8.0rc1
Pillow==2.9.0
py2app==0.7.3
pyasn1==0.1.8
pycrypto==2.6.1
pyobjc-core==2.5.1
pyobjc-framework-Accounts==2.5.1
pyobjc-framework-AddressBook==2.5.1
pyobjc-framework-AppleScriptKit==2.5.1
pyobjc-framework-AppleScriptObjC==2.5.1
pyobjc-framework-Automator==2.5.1
pyobjc-framework-CFNetwork==2.5.1
pyobjc-framework-Cocoa==2.5.1
pyobjc-framework-Collaboration==2.5.1
pyobjc-framework-CoreData==2.5.1
pyobjc-framework-CoreLocation==2.5.1
pyobjc-framework-CoreText==2.5.1
pyobjc-framework-DictionaryServices==2.5.1
pyobjc-framework-EventKit==2.5.1
pyobjc-framework-ExceptionHandling==2.5.1
pyobjc-framework-FSEvents==2.5.1
pyobjc-framework-InputMethodKit==2.5.1
pyobjc-framework-InstallerPlugins==2.5.1
pyobjc-framework-InstantMessage==2.5.1
pyobjc-framework-LatentSemanticMapping==2.5.1
pyobjc-framework-LaunchServices==2.5.1
pyobjc-framework-Message==2.5.1
pyobjc-framework-OpenDirectory==2.5.1
pyobjc-framework-PreferencePanes==2.5.1
pyobjc-framework-PubSub==2.5.1
pyobjc-framework-QTKit==2.5.1
pyobjc-framework-Quartz==2.5.1
pyobjc-framework-ScreenSaver==2.5.1
pyobjc-framework-ScriptingBridge==2.5.1
pyobjc-framework-SearchKit==2.5.1
pyobjc-framework-ServiceManagement==2.5.1
pyobjc-framework-Social==2.5.1
pyobjc-framework-SyncServices==2.5.1
pyobjc-framework-SystemConfiguration==2.5.1
pyobjc-framework-WebKit==2.5.1
pyOpenSSL==0.13.1
pyparsing==2.0.1
python-dateutil==1.5
pytz==2013.7
scipy==0.13.0b1
six==1.4.1
Twisted==13.2.0
xattr==0.6.4
zope.interface==4.1.1

【问题讨论】:

  • 在我尝试复制此内容之前,有一些快速的想法:'django_hosts' 在您的INSTALLED_APPS 中吗? 'user_shop.subdomainMiddleware.subdomainMiddleware' 是什么?这会以某种方式干扰吗?您能否还包括pip freeze
  • @Omni5cience 感谢您的回复。我已经更新了问题。

标签: django subdomain django-urls


【解决方案1】:

我发现了错误。这是我的 urls.py 文件中的错误。

【讨论】:

    猜你喜欢
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 2012-02-16
    • 2021-02-26
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多