【问题标题】:Access Django App from subdomain redirect从子域重定向访问 Django App
【发布时间】:2013-08-21 19:42:10
【问题描述】:

我有一个小型 django 应用程序在一些根服务器上运行。它使用 django 集成开发服务器。该网址只有少数人知道,所以现在认为没问题。我们可以通过以下方式访问该网站:

http://<ip>:<Port>/main

同事设置了一个类似shortcut.somedomain.com的子域,指向上面的url。

尝试通过该子域访问站点时,视图和模板已加载,但无法加载静态文件。有什么快速解决办法让它工作吗?

【问题讨论】:

  • 为什么不切换到使用普通的网络服务器,让它静态服务?见docs.djangoproject.com/en/dev/howto/static-files
  • 我最终会这样做,但我认为这需要一些时间,因为我必须了解网络服务器配置、wsgi 和所有这些。因此,在那之前我一直要求快速修复:)

标签: django subdomain


【解决方案1】:

您能否向我们展示说明哪些是静态文件目录的代码以及您在模板中使用静态文件的示例?

您是否有可能从错误的路径加载静态目录? 或者您可能在模板中错误地引用了文件?

尝试做:

my_path = os.path.realpath(os.path.join(os.path.dirname(__file__), '..'))

这将为您获取项目根目录。

之后(如果您的项目结构不同,请进行修改): STATIC_ROOT = os.path.join(my_path, 'static')

这应该适用于您的 STATIC_URL 定义

【讨论】:

  • 你好 Roman,在我的 settings.py 中我指定:STATIC_URL = '/static/',在我的模板中我使用例如:{% load staticfiles %} &lt;link rel="stylesheet" type="text/css" href="{% static 'main/css/style.css' %}" /&gt;
  • 看看django staticfiles 前几行讨论了生产环境与开发环境以及如何显式添加静态目录。
  • 感谢 Roman,我必须阅读并获得更多知识才能完全了解问题所在。通常我通过疯狂猜测并测试我在谷歌找到的示例代码 sn-ps 来“作弊”,但这次它不起作用......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-15
  • 2012-05-25
  • 2011-04-29
  • 2010-11-22
  • 2023-03-17
  • 2017-07-07
  • 2021-07-24
相关资源
最近更新 更多