如何在我的django项目中添加css和jquery文件?

mus*_*fiq 5 django file django-templates

我正在为我的一个网络项目学习Django.面对在我的项目中追加css,jquery文件的困难.模板非常简单,不需要使用extends.Just一页表单.我做了什么来声明我的媒体文件:在settings.py文件中:添加路径:

`import os

def path(*x):
    return os.path.join(os.path.abspath(os.path.dirname(__file__)), *x)
Run Code Online (Sandbox Code Playgroud)

`然后补充说:

MEDIA_ROOT = path('media') #media is my folder where all the css,js file are 
MEDIA_URL = '/media/'
ADMIN_MEDIA_PREFIX = '/media/'
TEMPLATE_DIRS = (
    path('templates')
Run Code Online (Sandbox Code Playgroud)

在urls.py文件中添加:

from django.conf import settings
urlpatterns = patterns('',
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', { 'document_root' : settings.MEDIA_ROOT }),
Run Code Online (Sandbox Code Playgroud)

在模板文件中,我尝试过所有这些类型的声明:

<script type="text/javascript" src="/media/jquery.min.js"></script> 
    <script type="text/javascript" src="/media/site.js"></script>   
    <link rel="stylesheet" type="text/css" media="screen" href="/media/screen.css" />
    <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}test.css" />
<link rel="stylesheet" type="text/css" media="screen" href="../media/screen.css" />
Run Code Online (Sandbox Code Playgroud)

但是当我将模板文件加载为简单的html时:

<script type="text/javascript" src="../media/jquery.min.js"></script> 
    <script type="text/javascript" src="../media/site.js"></script> 
<link rel="stylesheet" type="text/css" media="screen" href="../media/screen.css" />
Run Code Online (Sandbox Code Playgroud)

这很有效.但我需要在我的Django项目中集成.希望能得到导航并解决它:)谢谢

Gab*_*ley 6

您尝试失败的事项列表中的语法正确:

<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}test.css" />
Run Code Online (Sandbox Code Playgroud)

如果您将自己定义MEDIA_URL为"/ media /",那么该链接就可以了/media/test.css.

只要您具有以下目录结构:

my_project
    |-- settings.py
    |-- urls.py
    |-- media
        |-- test.css
Run Code Online (Sandbox Code Playgroud)

我会仔细检查你的所有文件和目录名称,确保你没有任何错误/额外的斜杠等.

另外,我认为"test.css"应该是"screen.css",就像你在其他所有例子中一样......

但基本上,使用绝对URL路径(从斜杠开始表示它从站点根目录解析)将与使用相对路径(../)一样,只要您实际将文件放在正确的位置即可.然后你会有什么工作.


mus*_*fiq 2

我的目录结构如下:

|-- test_form
|-- /settings.py
|-- /urls.py
|-- /media
|   '-- test.css
'-- /templates
    '-- ...
Run Code Online (Sandbox Code Playgroud)

我在 template.html 文件中添加了以下语法:

<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}test.css" />
Run Code Online (Sandbox Code Playgroud)

我很困惑问题出在哪里。