繁体   English   中英

Django找不到我的非python文件!

[英]Django can't find my non-python files!

在我的一生中,我无法让Django查找我的JavaScript文件! 我试图将自定义窗口小部件插入管理页面,如下所示:

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的新手。

我猜您正在使用django-admin runserver来测试您的网站。 在这种情况下,请查看“ 如何提供静态文件 ”(但不要忽略大的免责声明 )。

准备部署后, 本章将包含所有信息(前提是您采用的是Apache / mod_wsgi的标准路线)

我不知道包含js文件的“ django方式”是什么,但是我只在模板中使用了一个简单的常规包含,这非常好,因为您可以动态生成这些文件的位置/文件名。哦,如果您正在使用django的测试服务器我不知道如何获取它,甚至无法识别,但是您所需要的只是在本地计算机上运行apache服务器,然后将文件放在localhost目录中,然后可以通过localhost包含它们通过在模板中包含它们的完整路径(即http://localhost/myfiledirectory/myfile.js ),我要做的就是使用Amazon s3托管文件,因为您随后在其中获得了它们的url(不是您问的关于此问题,但是如果您没有本地运行的apache,这是一种托管文件的快速方法)

基本上,我对Django的理解是,它的工作方式与PHP框架不同,例如,因为Django的文件无需位于(或至少不需要)在网络路径中(即,它们不需要可以通过主机路径访问,但可以在计算机上的任何位置),这有助于提供额外的安全性,等等,但这也意味着,要给文件提供一个URL以下载它们,它们需要位于网络主机路径中,其他人可能知道如何使django直接执行此操作,但是如果您只想这样做,我将它们放在localhost路径上的快速而肮脏的方法将可以使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM