代码之家  ›  专栏  ›  技术社区  ›  MECRA YAVCIN

我应该在Django项目中使用ADMIN_MEDIA_PREFIX吗?

  •  1
  • MECRA YAVCIN  · 技术社区  · 11 月前

    想要部署一个Django项目。 我想在我的项目中使用S3。 在settings.py中,我应该使用吗? 它在Django 5.1中工作吗

    ADMIN_MEDIA_PREFIX  =  "static/admin/" 
    

    非常感谢。

    1 回复  |  直到 11 月前
        1
  •  0
  •   haduki    11 月前

    这个 ADMIN_MEDIA_PREFIX 该设置已被弃用,不再使用。在最近版本的Django中,它现在可以自动处理,不需要显式配置。

    从Django 1.4开始,管理员静态文件也遵循这个约定,使文件更容易部署。在Django的早期版本中,定义ADMIN_MEDIA_PREFIX设置以指向管理员静态文件在web服务器上的URL也是很常见的。此设置现已被弃用,并被更通用的设置STATIC_URL所取代。Django现在希望在URL下找到管理员静态文件<STATIC_URL>/管理员/。

    如果您正在将Django项目设置为使用Amazon S3存储静态文件(包括管理员静态文件),则通常会配置 STATIC_URL STATICFILES_STORAGE 在你的 settings.py 。这是一个基本的设置示例,假设您使用django-storages包进行S3集成:

    # settings.py
    
    # AWS S3 settings
    AWS_ACCESS_KEY_ID = 'your-access-key-id'
    AWS_SECRET_ACCESS_KEY = 'your-secret-access-key'
    AWS_STORAGE_BUCKET_NAME = 'your-s3-bucket-name'
    AWS_S3_REGION_NAME = 'your-s3-region-name'  # e.g. us-west-2
    
    # Static files settings for S3
    STATIC_URL = 'https://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
    STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'