我在django项目中使用django-configurations(版本0.8)。我在配置设置中有这样的东西。
class MyConfiguration(Configuration):
AWS_STATIC_STORAGE_BUCKET_NAME = values.SecretValue()
AWS_MEDIA_STORAGE_BUCKET_NAME = values.SecretValue()
MEDIA_URL = 'https://s3.amazonaws.com/%s/' % AWS_MEDIA_STORAGE_BUCKET_NAME
STATIC_URL = 'https://s3.amazonaws.com/%s/' % AWS_STATIC_STORAGE_BUCKET_NAME
稍后当我尝试访问MEDIA_URL和STATIC_URL的值时,我使用以下代码检索它们的值:
import config
print config.MEDIA_URL
print config.STATIC_URL
我看到它打印
<Value default: None>/
我认为这是因为当在MyConfiguration中对MEDIA_URL和STATIC_URL进行分配时,AWS_STATIC_STORAGE_BUCKET_NAME和AWS_MEDIA_STORAGE_BUCKET_NAME(来自values.SecretValue())的值尚不可用。我通过将前两行更改为以下来解决此问题:
import os
AWS_STATIC_STORAGE_BUCKET_NAME = os.environ['DJANGO_AWS_STATIC_STORAGE_BUCKET_NAME']
AWS_MEDIA_STORAGE_BUCKET_NAME = os.environ['DJANGO_AWS_MEDIA_STORAGE_BUCKET_NAME']
但是,我想知道是否有更好的方法来设置MEDIA_URL和STATIC_URL的值,即更多惯用的django-configuration。
此致
SN
答案 0 :(得分:0)
如何检索它:
from django.conf import settings
print settings.MEDIA_URL
print settings.STATIC_URL