您好我正在使用Django 1.8.7并且我的静态问题,显然它们没有加载,并且对css的请求似乎走正确路径。
这是我的settings.py
文件:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR + '/templates/'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
STATIC_URL = '/static/'
STATICFILES_DIRS = (BASE_DIR + 'static', PROJECT_PATH + 'static')
这是我的项目结构:
tree -I *pyc
.
├── db.sqlite3
├── django_vuldrone
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── mainapp
│ ├── admin.py
│ ├── __init__.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ └── __init__.py
│ ├── models.py
│ ├── static
│ │ └── css
│ │ └── tem.css
│ ├── templates
│ │ └── mainapp
│ │ └── tem.html
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── manage.py
├── static
│ └── css
│ └── nano.css
└── templates
└── base.html
我在base.html
目录之外有一个mainapp
,这在tem.html
完全加载,问题是tem.css
和nano.css
个文件,没有加载。
这就是base.html
的样子:
{% load staticfiles %}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
<link rel="stylesheet" href="{% static '/css/nano.css' %}" >
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<h1>My helpful timestamp site</h1>
{% block content %}{% endblock %}
<h1>Thanks for visiting my site.</h1>
</body>
</html>
这是我的tem.html
文件:
{% extends "base.html" %}
{% load staticfiles %}
<link rel="stylesheet" href="{% static '/css/tem.css' %}" >
{% block title %}The current time{% endblock %}
{% block content %}
{% for vulnerability in vulnerabilities %}
<p>{{ vulnerability.cve }}</p>
{% endfor %}
{% for product in products %}
<h1>{{ product.vendor }}</h1>
{% endfor %}
{% endblock %}
提前谢谢。
答案 0 :(得分:2)
我认为路径名上的主要斜线是问题。
请改为:
@drawable/shape
答案 1 :(得分:1)
使用django静态文件查找器时需要考虑的一些事项:
你的问题是你的静态dirs在他们之间发生冲突,并且django在你做{%static css / whatever.css%}时不知道你要导入哪一个
将mainapp / static / css / tem.css移动到mainapp / static / mainapp / css / tem.css并将静态导入更改为{%static mainapp / css / tem.css%}。如果要从全局静态文件文件夹导入,请执行{%static /css/nano.css%}