Python 德扬戈。静力学不加载

Python 德扬戈。静力学不加载,python,django,django-staticfiles,Python,Django,Django Staticfiles,您好,我使用的是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': 'd

您好,我使用的是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')
{% 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 %}
这是我的项目结构:

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
我在
mainapp
目录外有一个
base.html
,它完全加载在我的
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>

提前谢谢。

我认为路径名上的前导斜杠是问题所在

改为这样做:

{% static 'css/tem.css' %}

我认为路径名的前导斜杠就是问题所在

改为这样做:

{% static 'css/tem.css' %}

使用Django静态文件查找器时要考虑的事项:

  • 它将在您安装的每个应用程序上查找静态/文件夹。因此,您创建了一个app_name/static/app_name,以便在模板中执行{%static app_name/css/xxx.css%}
  • 如果您的根项目文件夹中有一个static/文件夹(因为您希望以{%static css/bootstrap.css%}的方式在模板中导入这些static,也就是说,您希望将全局静态文件存储在这里,等等),您必须使用STATICFILES\u DIRS settings变量手动添加此文件夹
您的问题是静态目录之间存在冲突,django在执行{%static css/whatever.css%}时不知道要导入哪个目录


因此,将mainapp/static/css/tem.css移动到mainapp/static/mainapp/css/tem.css,并将静态导入更改为{%static mainapp/css/tem.css%}。如果您想从全局静态文件中导入文件夹,请参阅{%static /cSS/NANA.CSS%}

< P>使用Django静态文件查找器时要考虑的一些事项:

  • 它将在您安装的每个应用程序上查找静态/文件夹。因此,您创建了一个app_name/static/app_name,以便在模板中执行{%static app_name/css/xxx.css%}
  • 如果您的根项目文件夹中有一个static/文件夹(因为您希望以{%static css/bootstrap.css%}的方式在模板中导入这些static,也就是说,您希望将全局静态文件存储在这里,等等),您必须使用STATICFILES\u DIRS settings变量手动添加此文件夹
您的问题是静态目录之间存在冲突,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%}

我以为你是对的,但我尝试了。。。。。否=(.我收到了相同的消息:
[22/Dec/2015 16:37:54]“get/static/css/nano.css HTTP/1.1”404 1649
。事实上,这是正确的路径。如果您尝试直接在浏览器中获取该URL,它是否有效?我得到一个
404
未找到,但我不确定如果给定我的
URL,这是否应该有效。py
配置我们谈论的是带debug True或production的runserver?还有BASE_DIR+“static”指向正确的文件系统中的路径?现在部分解决了,我尝试了以下方法:
STATICFILES\u DIRS=(os.path.join(BASE\u DIR,“static”)、os.path.join(PROJECT\u path,“static”))
我将
css
加载到根目录中,但没有加载到
mainapp/static/mainapp
中的那一个。我不确定
项目路径是否错误。我原以为你是对的,但我尝试了……没有(。我得到了相同的消息:
[22/Dec/2015 16:37:54]“get/static/css/nano.css HTTP/1.1”404 1649
。事实上,这是正确的路径。如果您尝试直接在浏览器中获取该URL,它是否有效?我得到一个
404
未找到,但我不确定如果给定我的
URL,这是否应该有效。py
配置我们谈论的是带debug True或production的runserver?还有BASE_DIR+“static”指向正确的文件系统中的路径?现在部分解决了,我尝试了以下方法:
STATICFILES\u DIRS=(os.path.join(BASE\u DIR,“static”)、os.path.join(PROJECT\u path,“static”))
我将
css
加载到根目录中,但没有加载到
mainapp/static/mainapp
中的。我不确定
项目路径是否错误。是的,你是对的,非常感谢。我有一个问题:你知道为什么href是:
static/mainapp/css/tem.css
而不是
。/../static/mainapp/css/tem.css
这就像是应用程序的真实位置。html是应用程序的名称,而不是“可见的”位置。与我根目录下的基本模板相同,要访问css,url是
static/css/nano.css
而不是
。/../static/css/nano.css
。谢谢你dude是的,你是对的,非常感谢。我有一个问题:你知道为什么href是:
static/mainapp/css/tem.css
f
。/../static/mainapp/css/tem.css
这就像应用程序的真实位置。html是应用程序的名称,而不是“可见”位置。与我根目录下的基本模板相同,要访问css,url是
static/css/nano.css
,而不是
。/../static/css/nano.css
。谢谢你