在Django应用程序中引用JS / CSS文件的最基本方法是什么?

时间:2011-12-19 01:13:28

标签: javascript css django

所以我刚刚开始学习Django框架,我正在尝试使用AJAX创建一个基本应用程序,将Django响应加载到我的主要'Content'div中。到目前为止一直很好,但我遇到的一个问题是引用JS / CSS文件。我想要的只是一个CSS文件的链接,以及我主索引页面中的一个JS文件。

我希望做的是在我的应用程序的style/main.css脚本中添加对js/main.jsurls.py的引用,其中python将返回文件的内容。因此,标准<link src='style/main.css' ... />标记将接收相应文件的内容。

感谢。

3 个答案:

答案 0 :(得分:1)

阅读documentation on serving static files。从本质上讲,您可以在开发过程中使用Django来提供这些文件,但绝对应该配置您的Web服务器(例如Apache)直接在生产环境中为它们提供服务。

答案 1 :(得分:0)

正确设置“django.contrib.staticfiles”。

使用STATIC_URL设置将链接和脚本标记添加到模板中。

<link href="{{ STATIC_URL }}css/main.css"/>
<script src="{{ STATIC_URL }}js/main.js"></script>

https://docs.djangoproject.com/en/1.3/ref/contrib/staticfiles/

答案 2 :(得分:0)

您可以尝试以下步骤:

  1. 打开您的settings.py和

    - 在你文件的第一行添加:

    导入os.path

    - 将您的STATIC_ROOT值更改为:

    STATIC_ROOT = os.path.join(PROJECT_DIR,'static /')

    - 将您的STATIC_URL值更改为:

    STATIC_URL ='/ static /'

  2. 在项目根目录中创建名为“static”的文件夹。

  3. 为您的静态文件创建一个文件夹,如css,javascript等。我建议您为不同类型的文件使用不同的文件夹。
  4. 打开项目的urls.py. - 添加到您的导入:导入设置 - 添加到网址模式:

    (r'(?:。*?/)?(?P(css | jquery | jscripts | images)/。+)$','django.views.static.serve',{'document_root':设置.STATIC_ROOT}),

    注意:在此示例中,我的静态文件夹中有名为css,jquery,jscripts和images的文件夹。

  5. 在您的模板中添加:

  6. 用于css文件:(在本例中,default.css是css文件的名称)

    <link href="/{{ STATIC_ROOT }}css/default.css" rel="stylesheet" type="text/css" media="all" />
    

    for javascript:

    <script type="text/javascript" src="/{{ STATIC_ROOT }}jquery/jquery.js"></script>