gpt4 book ai didi

python - Django 1.7 中的多个设置文件

转载 作者:太空宇宙 更新时间:2023-11-03 17:52:50 25 4
gpt4 key购买 nike

我正在尝试更改我的 django 1.7 项目以包含一个包含多个设置文件的设置文件夹,而不仅仅是一个 settings.py 文件。我不知道如何正确配置静态文件的位置。我缺少什么?我的网站不再正常工作。

dev_settings.py

from unipath import Path

PROJECT_DIR = Path(__file__).ancestor(3)
MEDIA_ROOT = PROJECT_DIR.child("media")
STATIC_ROOT = PROJECT_DIR.child("static")
STATICFILES_DIRS = (
PROJECT_DIR.child("static"),
)
TEMPLATE_DIRS = (
PROJECT_DIR.child("templates"),
)
STATIC_URL = '/static/'

home.html

{% load static from staticfiles %}
<a href="{% url 'bank:bank_home' %}"><img src="{% static 'images/logo-bank.png' %}" class="img-responsive navlogo" alt="My Bank"></a>
<script src="{% static 'js/bootstrap_js/bootstrap.min.js' %}"></script>

最佳答案

与静态文件相关的重要设置如下:

  • STATIC_ROOT - 定义 collectstatic 管理命令聚合静态文件的完整路径(例如 /var/www/project/staticfiles/)。
  • STATIC_URL - 定义 Django 将在您的模板中替换上述路径的 URL,以便您不必对其进行硬编码(通常为 /static/)
  • STATICFILES_DIRS - Django 聚合文件路径的元组或列表,不与任何特定应用程序关联(默认情况下,Django 将自动查找并聚合 下的所有文件) >static 任何已安装应用程序的目录 - 请参阅 STATICFILES_FINDERS 了解更多信息)。请注意,这不应包括 STATIC_ROOT 定义的路径;该路径是 Django 复制文件以提供服务的位置。

其他设置默认值通常一开始就可以(Django 1.7 的文档是 here )。请确保在 python manage.py runserver 之前运行 python manage.pycollectstatic,以便将静态文件聚合到 STATIC_ROOT 定义的位置.

您可以通过更改 manage.py 中的以下行来设置项目设置文件的位置:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my.project.base_settings")

或者,如果您想使用不同的设置(在开发等中),则可以在运行 manage.py 时传入 --settings:

python manage.py runserver --settings=my.project.dev_settings

请注意,使用的点符号对应于项目目录结构中的 *.py 文件,相对于 manage.py。因此,上面第一个示例中的文件位置将位于 my/project/base_settings.pydocs中有更多详细信息.

关于python - Django 1.7 中的多个设置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28889833/

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