【问题标题】:Django new version 3.1, the settings file have some changesDjango新版本3.1,设置文件有一些变化
【发布时间】:2020-12-05 17:17:00
【问题描述】:

在Django新版本3.1上,设置文件有一些变化,我来问我必须如何继续设置我的静态文件?我通常做的方式并没有更多的工作。

最新版本:

import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

3.1 版:

from pathlib import Path
BASE_DIR = Path(__file__).resolve(strict=True).parent.parent

我通常这样设置我的静态文件:

STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media_root')

如果我插入 import os 会起作用,但这是正确的做法吗? 设置它的最佳做法是什么? 谢谢?

【问题讨论】:

    标签: python django django-settings


    【解决方案1】:
    STATIC_ROOT = BASE_DIR.parent / "static_cdn"
    

    如果你想在环境目录中添加你的 STATIC_ROOT 试试这个

    【讨论】:

      【解决方案2】:

      此更改使您可以更轻松地定义 STATICMEDIA 变量。您甚至不需要为此目的导入os,只需将以下代码添加到您的settings.py

      BASE_DIR = Path(__file__).resolve(strict=True).parent.parent # which shows the root directory of your project
      
      STATIC_ROOT = BASE_DIR / 'static' # is equal to os.path.join(BASE_DIR, 'static/')
      STATIC_URL = '/static/'
      
      MEDIA_ROOT = BASE_DIR / 'media' # is equal to os.path.join(BASE_DIR, 'media/')
      MEDIA_URL = '/media/'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-14
        • 1970-01-01
        • 1970-01-01
        • 2013-09-01
        • 2015-08-07
        • 1970-01-01
        • 2021-04-22
        相关资源
        最近更新 更多