2010-08-26 65 views
1

我不能在我的生活中让Django找到我的JavaScript文件!我想在一个自定义窗口小部件,堵塞管理页面,如下所示:Django找不到我的非python文件!

class MarkItUpWidget(forms.Textarea): 
class Media: 
    js = (
     'js/jquery.js', 
     'js/markitup/jquery.markitup.js', 
     'js/markitup/sets/markdown/set.js', 
     'js/markitup.init.js', 
    ) 
    css = { 
     'screen': (
      'js/markitup/skins/simple/style.css', 
      'js/markitup/sets/markdown/style.css', 
     ) 
    } 

然而,当这个代码插入我的管理页面上,所有的链接都坏了,我不能让任何我的JavaScript文件。我的设置文件如下所示:http://pastebin.com/qFVqUXyG

有什么我做错了吗?我对Django有点新鲜。

回答

0

我不知道什么是“Django的方式”,包括js文件是,但我只是使用一个简单的常规包括在模板中,它的伟大,因为你可以动态地生成这些位置/文件名..哦,如果你使用django的测试服务器,我不知道如何让它识别这些或如果它甚至可以但你所需要的只是在你的本地机器上运行一个apache服务器,然后把这些文件放到localhost目录中,并且你可以通过在模板中包含它们的完整路径(即http://localhost/myfiledirectory/myfile.js)来包含它们,也可以是I做是使用亚马逊s3托管文件,因为你然后得到他们在那里的URL(不是你问这个,但它是一个快速的方式来承载文件,如果你没有在本地运行Apache)

基本上,我对Django的理解是,它的工作方式不同于PHP框架例如,因为Django的文件不在网站路径中(或至少不需要)他们不需要通过主机路径访问,但可以在机器上的任何地方),这对提供额外的安全性等是很好的,但这也意味着,要给文件一个url下载它们,他们需要在虚拟主机路径,其他人可能知道如何让django直接做这件事,但是如果你喜欢,你可以将它们放在本地主机路径上。