0
项目结构:包括静态文件从模板Django的
├── db.sqlite3
├── manage.py
├── static
│ └── admin
│ ├── css
│ ├── img
│ └── js
├── abc1
│ ├── admin.py
│ ├── __init__.py
│ ├── migrations
│ │ ├── __init__.py
│ ├── models.py
│ ├── templates
│ │ └── abc1
│ │ ├── homepage.html
│ │ ├── css
│ │ ├── img
│ │ ├── js
│ ├── tests.py
│ ├── urls.py
│ ├── views.py
└── abc2
├── functions.py
├── __init__.py
├── settings.py
├── urls.py
├── views.py
├── wsgi.py
Settings.py文件:
MEDIA_URL = '/media/'
STATIC_URL = '/static/'
PROJECT_DIR = os.path.dirname(__file__)
SETTINGS_PATH = os.path.dirname(os.path.dirname(__file__))
# Static files (CSS, JavaScript, Images)
STATIC_ROOT = ''
STATICFILES_DIRS = (
os.path.join(PROJECT_DIR, '../static'),
os.path.join(PROJECT_DIR, '../templates/abc1/img'),
)
homepage.html:
<head>
{% load staticfiles %}
<link href="{% static 'css/bootstrap.css' %}" rel="stylesheet">
<link href="{% static 'css/theme.css' %}" rel="stylesheet">
<link href="{% static 'css/magnific-popup.css' %}" rel="stylesheet">
</head>
<body>
<script src="js/bootstrap.min.js"></script>
<script src="js/cbpAnimatedHeader.min.js"></script>
<script src="js/owl.carousel.min.js"></script>
</body>
错误日志:
[08/Jan/2016 17:16:42] "GET /static/css/theme.css HTTP/1.1" 404 1643
[08/Jan/2016 17:16:42] "GET /static/css/bootstrap.css HTTP/1.1" 404 1655
[08/Jan/2016 17:16:42] "GET /static/css/magnific-popup.css HTTP/1.1" 404 1670
[08/Jan/2016 17:16:42] "GET /abc1/js/owl.carousel.min.js HTTP/1.1" 404 3579
[08/Jan/2016 17:16:42] "GET /abc1/js/bootstrap.min.js HTTP/1.1" 404 3570
[08/Jan/2016 17:16:42] "GET /abc1/js/cbpAnimatedHeader.min.js HTTP/1.1" 404 3594
我想在Django中包含静态的css/js/img文件。 有人可以指出我的错误吗? (想不出确切的问题/原因,所以,不得不提很多细节)
感谢,
静已经是在项目的主文件夹中。如何在静态内添加manage.py?当我尝试'python manage.py collectstatic'时,abc1中的大部分css/js/Img文件都不包含在'static'目录中。所以,我不知道如何为'abc1'目录生成静态。你能详细说一下吗? – Naveen
你不需要“收集静态”来进行静态工作。我看到你有一个名为'admin'的目录,所以你需要像这样加载它:{%static'admin/css/bootstrap.min.css'%}'同时从这里删除所有的静态'os.path.join(PROJECT_DIR ,'../ templates/abc1/img'),并把它放在主静态目录 –
no no。你不了解我,你不需要在静态文件夹中移动'manage.py'。当我说“所有静态”时,我的意思是只有你的静态,至于你在项目中添加的内容,比如“bootstrap”,Django也使用其他路径,对于本机Django静态,这没问题。所以你有主文件夹,其中包含'dbsqlite','abs1'和'abs2'应用程序,在这里你有'静态'文件夹,这是不加载,因为你有其他文件夹,'静态'名称'管理员',所以或者删除这个文件夹并在静态文件夹中创建'js','css','img',或者添加路径'{%static'admin/css/bootstrap.min.css'%}'就像我说的那样 –