【问题标题】:Error 404 when trying to access a Django app installed in a subdomain尝试访问安装在子域中的 Django 应用程序时出现错误 404
【发布时间】:2014-03-24 14:57:10
【问题描述】:

我刚刚安装了 Django 并按照基本教程第 1 部分创建了一个项目和一个应用程序,我创建了一个 virtualenv,因为 centOS 默认 python 版本是 2.4.3,我还创建了一个子域来在开发阶段进行此工作。当我尝试访问 dev.domain.com/admin/ 或 dev.domain.com/ 时出现 404 错误,就像 django 甚至不存在一样。当我运行服务器时,我得到了正常响应:

(python2.7env)-bash-3.2# python manage.py runserver 验证模型...

发现 0 个错误 2014 年 2 月 22 日 - 23:54:07 Django 1.6.2 版,使用设置'ct_project.settings' 在http://127.0.0.1:8000/启动开发服务器

任何想法我错过了什么?

编辑:正确启动服务器后(使用正确的 ip)我再次尝试,结果我的浏览器挂起。然后我去尝试了一个在线端口扫描器,发现端口 8000 没有响应,有什么想法可以尝试吗?

谢谢

【问题讨论】:

    标签: python django .htaccess subdomain virtualenv


    【解决方案1】:

    您需要在 /etc/hosts 上设置 hosts 条目,如下所示

       127.0.0.1     dev.domain.org
    

    默认情况下,Django 在端口 8000 上启动开发网络服务器,而您的浏览器正在端口 80(网络服务器的默认端口)上寻找服务器,因此您需要在 url 末尾添加端口

       http://dev.domain.com:8000.
    

    如果您想在默认端口 80 中启动服务器,您需要指定它(可能需要 root 或 sudo):

        python manage.py runserver http://dev.domain.com:80
    

    【讨论】:

    • 我认为子域配置良好,因为我将索引文件放在dev.domain.com 并且我可以看到它,这个假设是否正确?然后我尝试了dev.domain.com:8000,它导致浏览器永远挂起。当我尝试这个 python manage.py runserver dev.domain.com:80 我得到 CommandError: "dev.domain.com:80" is not a valid port number or address:port pair。有任何想法吗?谢谢
    • 我又试了一次 python manage.py runserver dev.domain.com:80 得到错误:那个端口已经在使用中
    • 无论如何我认为它应该与 dev.domain.com:8000 一起使用,但无论服务器是否正在运行,它都会永远挂起
    • 控制台上是否显示了某些内容?错误?您可以随时尝试使用127.0.0.1:8000 来查看开发服务器是否正常工作。
    【解决方案2】:

    通过联系支持服务并要求他们为我打开端口 8000 解决了问题。

    【讨论】:

      猜你喜欢
      • 2013-09-22
      • 2018-09-02
      • 1970-01-01
      • 2014-09-12
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      相关资源
      最近更新 更多