【发布时间】:2019-05-14 13:13:26
【问题描述】:
我一直在尝试让 Django webapp 在本地运行。我所做的是设置我的debug = True 并基本上从我的测试服务器上携带我的settings.py 文件。我终于让我的python manage.py runserver [::]:8000 顺利运行而没有错误。我现在遇到的问题是我无法访问正确的想法。
抱歉,任何不正确的术语,但假设我的应用程序位于三个链接 www.webapp.com、www.buying.webapp.com 和 www. sell.webapp.com,其中 SITE_ID 为 1、2、3。我之前已经学会使用 localhost:8000 来访问 webapps,但那是我更简单的 webapps。
任何帮助将不胜感激!谢谢。
编辑:
我关注了DOMAINS_URLCONF,发现了这个
class SubdomainMiddleware:
""" Make the subdomain publicly available to classes """
def process_request(self, request):
domain_parts = request.get_host().split('.')
if (len(domain_parts) > 2):
subdomain = domain_parts[0]
if (subdomain.lower() == 'www'):
subdomain = None
domain = '.'.join(domain_parts[1:])
else:
subdomain = None
domain = request.get_host()
# if subdomain in settings.DOMAINS_URLCONF:
# request.__setattr__('urlconf',settings.DOMAINS_URLCONF[subdomain])
try:
current_site = Site.objects.get(domain=request.get_host())
except Site.DoesNotExist:
current_site = Site.objects.get(id=settings.SITE_ID)
request.current_site = current_site
#settings.SITE_ID = current_site.id
request.subdomain = subdomain
request.domain = domain
【问题讨论】:
-
这些子域上的路由是如何工作的?
-
你的 webapp 是在 127.0.0.1:8000 还是 localhost:8000 上运行的?
-
@Sayse 看起来它们在我的
DOMAINS_URLCONF下的 settings.py 中。 @Manumathew 当我尝试连接时,它们都会连接。