【问题标题】:django-subdomains config localhostdjango-subdomains 配置本地主机
【发布时间】:2016-09-02 14:15:32
【问题描述】:

我无法正确配置我的。

启用站点并将“SITE_ID = 1”(db 对象 1 域)的站点域设置为“mysite.app”

我已经设置了这些子域

ROOT_URLCONF = 'mysite.urls'
SUBDOMAIN_URLCONFS = {
    None: 'frontend.urls',  # no subdomain, e.g. ``example.com``
    'www': 'frontend.urls',
    'api': 'api.urls',
}

etc/hosts 文件

127.0.0.1       api.mysite.app
127.0.0.1       www.mysite.app
127.0.0.1       mysite.app

api/urls.py

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.index),
]

api/views.py

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse('API')

除了在 HttpResponse 对象中返回字符串“FRONTEND”之外,前端应用程序的 url 和视图是相同的。

我可以告诉 django-subdomains 正在工作,因为当我点击“mysite.app:8000”而不是在 root_url_conf 中看到的 mysite.urls 时,它确实进入了“前端”应用程序。它显示“FRONTEND”

但无论我做什么,我都无法让“api.mysite.app:8000”点击 api urls 文件以显示“API”

我错过了什么吗?我对 django 很陌生。任何帮助表示赞赏。

谢谢。

【问题讨论】:

    标签: python django


    【解决方案1】:

    只需重新启动开发服务器。一切都已正确配置。

    【讨论】:

      【解决方案2】:

      尝试http://api.127.0.0.1.xip.io:8000/,让您的开发服务器运行在 127.0.0.1:8000。由于 127.0.0.1 不是真正的域,而是一个 IP,因此它不能有子域。而且由于您的主机文件重定向到 127.0.0.1 而不是 127.0.0.1.xip.io 或类似的(您也不必为测试而这样做),因此您将无法连接。
      我没有使用过您提到的库,但是根据自己编写的子域 sn-ps 的经验,我会说是这种情况。

      【讨论】:

      • 非常感谢您的评论。昨晚深夜后我回到了它,再次启动了开发服务器,现在一切都按预期工作了。我想我只需要在安装后重新启动开发服务器。那个笨的人。再次感谢。
      猜你喜欢
      • 2011-11-13
      • 2017-04-04
      • 2023-04-09
      • 1970-01-01
      • 2011-01-10
      • 2017-07-11
      • 1970-01-01
      • 1970-01-01
      • 2016-04-12
      相关资源
      最近更新 更多