Django中的第二个静态文件目录

时间:2016-03-24 11:52:24

标签: python django static directory

我试图在Django中创建类似照片库的东西。到目前为止,我正在使用本地Django副本并包含Web服务器和数据库。

我完成了大部分应用逻辑,但需要解决静态文件问题。我需要有两个位置 - 一个用于"媒体"这将是图像,我希望将来将它们存储在Django之外 - 现在它放在Django root / files目录中。到目前为止,我能够使用以下内容:

settings.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'files'),)
STATIC_URL = "/photos/"

的index.html

{% load static from staticfiles %}
<a href="{%static pic.path %}" class="gallery">Photo</a>

这非常有效 - 当我点击该链接时,我可以看到存储在 /files//picture.jpg 的图片显示为 http://localhost:8000/photos / picture.jpg

但现在我需要在该页面中添加一些CSS和JS,并且不知道如何做到这一点(除了将它们直接放到我需要避免的/ files目录中)

由于

2 个答案:

答案 0 :(得分:2)

您可以像这样解决此问题。 Сhange这个代码地点

{% load static from staticfiles %}
<a href="{%static pic.path %}" class="gallery">Photo</a>

并写这样的

{% load staticfiles %}

您可以在静态目录中添加css并在模板中包含css

<link rel="stylesheet" href="{% static 'css/style.css' %}">

答案 1 :(得分:0)

要回答您的问题,请按照以下步骤操作

静态

创建静态文件: 我们创建静态文件以将 html 文件与这 3 个文件链接: 1/ CSS 文件 2/ JS文件 3/ 图像文件 ..

如何创建静态文件?

1/ 转到项目文件并创建一个名为 static 的文件夹。

static / CSS-JS-Images

2/ 转到设置文件并在 STATIC_URL 后搜索静态。

添加这两行:

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

STATICFILESDIRS = [ os.path.join(BASE_DIR, 'here you type the direction of the static file') ]

确保您正在导入操作系统库

3/ 最后,您应该收集静态信息,为此在终端上执行此操作并添加以下代码:

python manage.py collectstatic

在这里您可以找到如何在 html 文件中加载静态数据。

在页面顶部添加此代码:

{% load static %}

添加此代码以将 CSS 文件与 Html 链接。

<link reel = 'stylesheet' href = " {% static 'dir of css file.css' %} "

希望能帮到你。

相关问题