gpt4 book ai didi

python - Django 静态文件和 settings.py 中的文件路径

转载 作者:技术小花猫 更新时间:2023-10-29 11:32:05 30 4
gpt4 key购买 nike

我正在尝试我的第一个合适的 webdev 元素,并且我正在学习 django 框架。

我来这里是为了询问使用“静态文件”的最简洁方法,就像我在我的一个 html 模板中提到的外部 CSS。我试着通读 official documentation on the subject但作为初学者发现它有点令人困惑,然后我尝试谷歌搜索,但我注意到大多数指南或 stackoverflow 答案略有不同,我意识到我需要更好地理解。有点厚颜无耻地问,但是,有人可以向我解释和总结这个过程吗?

作为引用,这是我的元素文件夹层次结构。目前我正在尝试让模板 base.html 使用 CSS/base.css 中的 sylesheet: enter image description here

还有一个让我失望的事情是使用绝对文件路径。到目前为止,我已经成功地使用相对文件路径,这对我来说更有意义,因为目标是在 django 测试服务器上开发,然后在我有一个服务器时将它全部传输到我自己的服务器上。 (注意:也许是因为我不知道传输过程有多复杂,所以我不明白为什么首选绝对文件路径)。使用相对文件路径有什么问题?

我意识到这已经变成了两个问题,这是违反规则的,但我真的认为两个问题可以一起回答,如果我理解其中一个,可能会帮助我理解另一个。任何帮助将不胜感激。

最佳答案

这是一组来自 settings.py 的代码片段,我已经更改为包含静态文件

import os
import django
DJANGO_ROOT = os.path.dirname(os.path.realpath(django.__file__))
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))

为 SITE_ROOT 目录动态设置变量

    DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(SITE_ROOT,'data.db'),

sqlite3数据库存放的地方需要绝对地址

            'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}


STATIC_ROOT = SITE_ROOT
STATIC_URL = '/static/'

这里存放静态文件

STATICFILES_DIRS = (
os.path.join(SITE_ROOT,'static'),
)

模板的存放位置

TEMPLATE_DIRS = (
os.path.join(SITE_ROOT,'templates'),

)

现在在模板中使用

 {% load static %} --at beginning
<link href="{% static "css/bootstrap.min.css"%}" rel="stylesheet" media="screen">

这是一个示例,显示如何访问静态目录中的“css/bootstrap.min.css

关于python - Django 静态文件和 settings.py 中的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10970076/

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