- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的settings.py 文件中,STATIC_ROOT
和MEDIA_ROOT
目前都指向硬编码位置。例如STATIC_ROOT
路径是:
/home/ian/projectname/mysite/appname/static
我知道这会在我部署项目时引起问题。
环顾四周,我发现我需要使用os.path
,但无数的例子让我感到困惑。
我尝试查看设置此文件的不同排列(或获取用于设置 BASE_DIR 的示例值),但是屏幕截图显示我丢失了一些内容,因为它提示文件 值。
如果需要,我使用 Django 1.6
提前致谢。
最佳答案
首先,由于在交互式 shell 中附加 __file__
,您收到此错误:
NameError: name '__file__' is not defined
shell 不会检测 __file__
中的当前文件路径,因为它与您在其中添加此行的 filepath
相关。例如,要工作,您需要将其包含在 file.py
中:
os.path.join(os.path.dirname(__file__))
然后,从命令行运行:
python file.py
这是因为 __file__
与 file.py
的 filepath
相关。
对于 settings.py
,使用它来获取 Django 项目的根目录:
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
然后您可以使用os.path.join()
来加入其他相对路径,例如:
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
TEMPLATE_DIRS = os.path.join(BASE_DIR, 'templates')
有关如何布局 Django 项目目录的更多信息,请阅读:Common structures
关于django - 如何设置 STATIC_ROOT 和 MEDIA_ROOT 以便使用的路径不是硬编码的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24854786/
我是 Django 的新手,我正在尝试找到一种方法来在我的元素中加载我的 css 文件。这是我的 settings.py 文件 STATICFILES_STORAGE = 'whitenoise.dj
我从项目中的一些模板中渲染了一些 pdf。好吧,这似乎可行,但是...... ...我想测试一下! 问题是我在渲染期间读取的一些文件位于 STATIC_ROOT 中 - 因此我需要在运行测试时收集静态
当我尝试在 webfacional 的服务器上运行 webapp 时,我陷入了关于 STATIC_URL 和 STATIC_ROOT 的问题 2 小时。 当我加载网页时,所有请求都运行良好,除非任何带
我已经通过官方文档和一些文章阅读了有关它们的内容,但我仍然感到困惑。就我现在所知,MEDIA_ROOT用于用户上传的图像和文件,而STATIC_ROOT用于js,css等。至于MEDIA_URL,是否
我正在 Heroku 上部署一个 Django 应用程序。 在我的设置模块中,我已配置为托管静态文件,例如 STATIC_ROOT = os.path.join(BASE_DIR, 'static_m
我对 Django 中的静态文件和媒体文件感到困惑。我在其他地方看到人们可以互换使用它。 我应该什么时候使用 media_root我什么时候应该使用 static_root ? 如果我有网站图片,我应
我使用的是 Django 1.7。将我的网站部署到生产服务器并运行 collectstatic 时,我收到以下错误消息: django.core.exceptions.ImproperlyConfig
我正在使用此 STATIC_ROOT 和 MEDIA_ROOT 配置: STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BA
我在 settings.py中有一个 Django 1.3 项目,此选项。 SITE_ROOT = os.path.dirname(os.path.realpath(__file__)) STATIC
在我的settings.py 文件中,STATIC_ROOT 和MEDIA_ROOT 目前都指向硬编码位置。例如STATIC_ROOT路径是: /home/ian/projectname/mysite
我很难将项目部署到heroku,因为它说找不到静态文件。我的静态文件位于名为“static”的文件夹中名为“social”的应用程序中,它们不在 management.py 所在的基本目录中。 --p
我正在使用 Python 3.5 和 Django 1.10 来运行开发服务器: ./manage.py runserver 0.0.0.0:8000 在我的 settings.py我有: DEBUG
我的 STATIC_ROOT 文件夹指定为 /var/www/app_name/static,非 sudo 用户通常不应访问该文件夹。 它是由具有 sudo 权限的用户创建的。现在我正在尝试对我自己的
这三个静态url有什么区别? 我不确定我是否正确,我正在使用 MEDIA_ROOT 来存储我上传的照片(通过 models.ImageField()) 但是,我在 admin.py 中为我的管理员创建
我已经浏览了所有其他答案,但似乎无法找到任何对我有用的东西。我正在遵循教程并尝试将我的 master 分支推送到 heroku 并收到错误您正在使用 staticfiles 应用程序,而没有将 STA
我对 static root 感到困惑,想澄清一些事情。 要在 Django 中提供静态文件,settings.py 和 urls.py 中应包含以下内容: import os PROJECT_DIR
对于 Django 的 'staticfiles' 应用程序中 STATIC_URL 和 STATIC_ROOT 之间的区别,我有些困惑。 我相信我了解 STATIC_ROOT 是什么:它本质上是服务
我想在文件夹中添加特定的 Assets ,并且应该能够使用像/assets/css/main.css 这样的 url 进行访问 我可以使用/static/css/main.css 但不能使用/asse
我正在使用 Django 2.2。来自 Django 管理静态文件 documentation : If you use django.contrib.staticfiles as explained
我是 Django 和 Web 应用程序开发的新手。我正在尝试将 css 添加到我的演示站点(在 Windows7 上使用 django v1.4)并收到以下错误。我都试过了,浪费了将近 3-4 个小
我是一名优秀的程序员,十分优秀!