gpt4 book ai didi

python - Django 。静态数据未加载

转载 作者:行者123 更新时间:2023-11-30 23:02:36 25 4
gpt4 key购买 nike

您好,我正在使用 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

我在 mainapp 目录之外有一个 base.html,它完美地加载到我的 tem.html 中,问题是tem.cssnano.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 %}

提前谢谢您。

最佳答案

使用 django 静态文件查找器时需要考虑的一些事项:

  • 它将在您安装的每个应用程序上查找 static/文件夹。因此,您创建了一个 app_name/static/app_name 以便在模板中执行 {% static app_name/css/xxx.css %} 。
  • 如果您的根项目文件夹中有一个 static/文件夹(因为您想以这种方式 {% static css/bootstrap.css %} 在模板中导入这些静态文件,即您想在此处存储全局静态文件,等),您必须使用 STATICFILES_DIRS 设置变量手动添加此文件夹。

你的问题是你的静态目录在它们之间产生冲突,并且当你执行 {% static css/whatever.css %} 时,django 不知道你想要导入哪一个

因此,将 mainapp/static/css/tem.css 移至 mainapp/static/mainapp/css/tem.css 并将静态导入更改为 {% static mainapp/css/tem.css %}。如果您想从全局静态文件文件夹导入,请执行 {% static/css/nano.css %}

关于python - Django 。静态数据未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34420256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com