【问题标题】:Django pathing to javascript doesn't workDjango 到 javascript 的路径不起作用
【发布时间】:2010-11-23 03:09:21
【问题描述】:

我一直在尝试各种事情,但无法弄清楚!

由于某种原因,在 Django 开发服务器上,JavaScript 的路径不起作用。

目录结构是

             site
               |
 appName    static      templates
    |          |            |
 views.py  javascript    appName
               |            |
            script.js     index.html

在 index.html 我有

<script type="text/javascript" src=../../static/javascript/script.js></script>

而且它不起作用!

如果我将 script.js 直接复制并粘贴到 index.html 中,所有功能都可以正常工作,只是路径搞砸了。

【问题讨论】:

  • 您的 index.html 位于哪个 URL 路径? yourhost/index.html?你在用阿帕奇吗?该主机的 DocumentRoot 是否指向 site?您的 MEDIA_ROOT 和 MEDIA_URL 设置变量设置为什么?

标签: javascript django pathing


【解决方案1】:

settings.py 中的 MEDIA 值是什么?我有以下内容,它们在开发服务器上工作正常:

#settings.py
MEDIA_ROOT = 'C:/site/static'
MEDIA_URL = ''

项目结构:

C:/site/
    settings.py
    static/
        javascript/
            script.js
    templates/
    urls.py

在您的任何模板中:

<script type="text/javascript" src="/static/javascript/script.js"></script> 

【讨论】:

    【解决方案2】:

    Django 默认不提供静态资源。 仅在开发环境中可以做到这一点 - 请参阅the documentation。

    【讨论】:

      【解决方案3】:

      怎么样:

      src="/static/javascript/..."
      

      你能看到它在 Firebug 网络标签中加载吗?

      【讨论】:

      • 另外,当我为加载的文档展开 javascript 选项卡时,我得到“Django 错误”替换 DEBUG 以获取 404 的东西。
      • 您的媒体资源是否有效(css、js)?默认情况下,每个请求都会路由到 django 控制器,除非您明确指定某种类型的媒体目录并告诉它不要去那里。 docs.djangoproject.com/en/dev/howto/static-files
      猜你喜欢
      • 2011-01-02
      • 2016-06-06
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      • 2013-07-06
      • 2019-06-04
      • 2022-07-22
      • 2014-07-11
      相关资源
      最近更新 更多