我最近开始了一个基本的django项目,我想加载一个已经制作好的默认模板。该模板有一个包含所有CSS,JS文件等的资产文件夹
此文件夹稍后在模板中调用,因此例如我可以拥有:
<base href="../">
// And a lot of static files being called like this:
<link href="./assets/scrollbar/css/scrollbar.css" rel="stylesheet" type="text/css" />
<link href="./assets/somecss.css" rel="stylesheet" type="text/css" />
// And so on..
<script src="./assets/somejsfile.js" type="text/javascript"></script>
此问题是资产中没有文件被检索。我知道问题取决于我将资产文件夹放在哪里,但我不知道如何解决。我试图将其添加到项目结构的不同部分,但是它不起作用,因为我只会遇到很多这样的错误:
http://127.0.0.1:8000/assets/somecss.css net::ERR_ABORTED 404 (Not Found)
这是我的 settings.py :
STATIC_URL = '/static/'
在此静态文件夹中,有一个基本的css文件,在尝试此操作之前,我已对其进行过测试。
这是我的项目的结构:
//MAIN FOLDER
migrations
ASSETS
templates -> INDEX.HTML (where the assets folder is called)
views, forms etc
答案 0 :(得分:1)
您是否已阅读documentation?
建议使用static
template tag 来使静态文件的文件系统位置独立于URL。使用此标记,您的URL必须这样定义:
{% load static %}
<link href="{% static 'assets/scrollbar/css/scrollbar.css' %}"
rel="stylesheet" type="text/css" />
<link href="{% static 'assets/somecss.css' %}"
rel="stylesheet" type="text/css" />
您还需要定义设置STATICFILES_DIRS
,因为看起来您的静态资产不在项目应用程序的默认位置内。