django - 在 Django 中设置多个 MEDIA_URL 和 MEDIA_ROOT

标签 django django-models django-templates django-views django-media

我已经在我的 django 应用程序中设置了静态和媒体根以及 url,如下所示:

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

MEDIA_URL = '/crl/'
MEDIA_ROOT  = os.path.join(BASE_DIR, 'config/crl/')

它运行良好,但我想添加另一个 MEDIA_URL 和 MEDIA_ROOT 来提供来自 /certs/ 的文件目录如下:
NEW_MEDIA_URL = '/certs/'
NEW_MEDIA_ROOT  = os.path.join(BASE_DIR, 'config/certs/')

有什么办法吗?
我正在使用 Django 2.0.6 和 Python 3.5

最佳答案

可以使用以下步骤将多个静态 URL 和静态根添加到 Django。

  • 配置一个 BASE_DIR
  • BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
    
    
  • 根据需要创建尽可能多的静态根和静态 URL
  • STATIC_URL = '/static/'
    STATIC_ROOT = os.path.join(BASE_DIR, "static/")
    # the "static/" above is a directory inside the Django Project Directory
    
    STATIC_URL_1 = '/static-1/'
    STATIC_ROOT_1 = os.path.join(BASE_DIR, "static_1/")
    
  • 同样,您可以根据需要创建任意数量的媒体根和媒体 URL
  • MEDIA_URL = '/crl/'
    MEDIA_ROOT  = os.path.join(BASE_DIR, 'config/crl/')
    
    MEDIA_URL_1 = '/crl-1/'
    MEDIA_ROOT_1  = os.path.join(BASE_DIR, 'config/crl_1/')
    

    关于django - 在 Django 中设置多个 MEDIA_URL 和 MEDIA_ROOT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51802022/

    相关文章:

    django - 如何在Django模板中显示包含多对多关系的对象列表?

    php - 难以在 Android 和 iPhone 上部署 Django 应用程序。计划切换到 PHP 而不是 Django

    python - ForeignKey 和扩展 Django 中的 User 类/模型之间的区别

    python - XML 解析错误 : mismatched tag. 预期 : </link>, Django

    python - 如何在 Django 管理中配置重新排序 order_with_respect_to 项目?

    django - 理解 Django 中的 Model.from_db()

    django - Wagtail:如何覆盖数据库中的 HTML 标记输出。使用 <strong> 或 <em> 而不是 <b> 或 <i> 作为富文本模板标签

    django - 如何在 django 翻译中翻译数字?

    django - Django : Error 'str' object has no attribute 'get' when populating model with csv file

    html - Django 2.0 : back button redirecting to different pages based on where you came from