Django 似乎无法识别 jquery - 现在是啥>

Posted

技术标签:

【中文标题】Django 似乎无法识别 jquery - 现在是啥>【英文标题】:Django doesn't seem to be recognizing jquery - what now>Django 似乎无法识别 jquery - 现在是什么> 【发布时间】:2011-06-26 08:02:32 【问题描述】:

我急需帮助。我关注了许多教程,并仔细阅读了this、this、this 和this 的文章。在遵循中间两篇文章中提到的静态服务器的 Django 文档时,我收到了错误消息,但我似乎在做这两篇文章中讨论的关于 settings.py 的所有正确事情,将 jquery.js 放在正确的目录中并引用实际 html 文件中的正确源。

我的媒体目录似乎被引用了-那里的css文件运行良好,如果我转到http://127.0.0.1:8000/media/jquery.js,就会显示jquery文件。

不过,我在遵循多个教程后构建的函数都不适用于我的 django 项目。几天来我一直在用头撞墙 - 如果可以,请提供帮助。

Django 应用项目文件:

__init__.py data.db javascript_app/ manage.py media/ settings.py templates/ urls.py views.py

Javascript 应用目录:

__init__.py admin.py models.py tests.py urls.py views.py

媒体目录:

jquery.js style_js.css

模板目录:

javascript_app/

base.html note_list.html

在我的主设置文件中:

import os.path ROOT_PATH = os.path.dirname(__file__) ...MEDIA_ROOT = os.path.join(os.path.dirname(__file__), "media") MEDIA_URL = 'http://127.0.0.1:8000/media/' ADMIN_MEDIA_PREFIX = '/media/admin/'

在我的主 urls 文件中:

from django.conf.urls.defaults import * from django.views.static import * from django.conf import settings ... urlpatterns = patterns('', (r'^media/(?P<path>.*)$', 'django.views.static.serve', 'document_root': settings.MEDIA_ROOT ),

无奈之下,我还在 javascript_app 的 urls.py 中添加了媒体引用(也使用了上面引用的导入命令):

urlpatterns = patterns('', (r'^media/(?P<path>.*)$', 'django.views.static.serve', 'document_root': settings.MEDIA_ROOT ),

templates/javascript/base.html

&lt;head&gt;&lt;title&gt;% block title %Notes Application% endblock %&lt;/title&gt;&lt;link rel="stylesheet" href="/media/style_js.css"&gt;&lt;script type="text/javascript" src="/jennystanchak/media/jquery.js"&gt;&lt;/script&gt;&lt;/head&gt;

最后在 templates/javascript/note_list.html

% extends "javascript/base.html" %% block content % ...&lt;script&gt;// my script here&lt;/script&gt;% endblock %

我在配置中缺少什么?

非常感谢您的帮助:) -- 一个有抱负的女程序员

【问题讨论】:

为什么这样:src="/jennystanchak/media/jquery.js" ? 我读到的一篇关于堆栈溢出的文章建议添加目录文件(jennystanchak 是 django 项目名称)。当我有 src="/media/jquery.js" 时,javascript 仍然无法工作。 你能粘贴你的页面呈现的html吗?我的意思是在您的网络浏览器中查看源代码的输出。 项目名称不属于那里 - 正如 Eric 指出的那样。您是否尝试过使用 firebug 查看页面?如果你在 firebug 中进入控制台并输入 $("*") 你会看到什么? 【参考方案1】:
<script type="text/javascript" src="/jennystanchak/media/jquery.js"></script>

路径不应该是src="/media/jquery.js" 没有/jennystanchak 吗?

【讨论】:

以上是关于Django 似乎无法识别 jquery - 现在是啥>的主要内容,如果未能解决你的问题,请参考以下文章

Jinja2 设置块在 Django 中无法识别

Django OAuth 2 客户端设置 - 客户端无法识别令牌

IBM Worklight - jQuery 无法识别 html 页面上的任何元素

Jquery Slidetoggle - 似乎无法开始关闭?

如何在 Django 模板中使用 Jquery/Ajax 正确刷新 div

Django 无法识别 DEBUG = False