2013-02-12 16 views
8

'u istemediğim eklenmiştir. Statik içeriği django-storages ile s3'ten alıyorum. Bu boto 2.5.X kullanırken iyi çalışır. Ama boto> = 2.6 kullandığımda, s3 medyasının url'i karıştırılır; Ekstra bir değişken eklenir. Aradaki fark, x-amz-güvenlik belirtecinin eklenmiş olmasıdır (ki istemiyorum). Medyaya URL’de erişilemiyor.Django depoları ve s3boto arka ucunu kullanma: x-amz-güvenlik belirteci,

https://mybucket.s3.amazonaws.com/static/style/css/layout.min.css?x-amz-security-token=AQoDYXdzEKj/76aRNkwEaoALUm866M8Z6Kc4aF/76aRNkjDcT70xSVB58kR%2BONYLf7y1z1pgqUX7fPRXVQjP9DYOZzcVdHCV27zybD/iPYT2C6rCEnvkQvhcq.... 

Herhangi öneriler: Benim settings.py içinde

Ben

AWS_QUERYSTRING_AUTH = False 

kötü url kullanılır?

+0

Buna bir cevap buldunuz mu? – bodger

+0

nope ... hala boto – bowlby

+0

eski sürümü ile çalışıyor Eski soru, ancak bu davranışı bir EC2 IAM rolü kullanırken sadece boto (2.42) ve django depoları (1.5) * ile görüyorum. [Ayakta duran bir boto hatası] gibi görünüyor (https://github.com/boto/boto/issues/1477). Ve [bu geçici çözüm] (https://github.com/boto/boto/issues/1477#issuecomment-38759048) benim için çalıştı. – medmunds

cevap

0

deneyin Yanlış = sen

AWS_S3_SECURE_URLS settings.py içinde

olduğunu ben daha iyi bir iş etrafında django-depoları dayalı olan
+0

AWS_S3_SECURE_URLS ayarının https ve http URL'lerini denetlediğine inanıyorum ve querystring auth eklenmesiyle ilgisi yoktur. – medmunds

2

(versiyon 1.1.8) Bu eklemek için
AWS_S3_CUSTOM_DOMAIN = 'mybucket.s3.amazonaws.com' 

Bu, boto'nun generate_url numaralı çağrılarını django-storage'ı önler ve yalnızca kaynağın yolunu birleştirir. Statik dosyaları almak için auth kullanmak istiyorsanız, bu işe yaramaz. Merak edenler için

: Sitenizdeki bazı bölümlerinde

Statik dosyalar çalıştı ve diğer parçalar, yönetici gibi çalışmadı. Yani ikisi de bir blok etiketi {% static %} tanımlayan farka

{% load staticfiles %} 

{% load static %} 

ila

bağlı ama onlar farklı şeyler yapmak edildi. Statik olandan bir tanesi, {{STATIC_URL}} dosyasını, dosya için URL'yi almak üzere depolamanın url yöntemini kullanan statik dosyalardan önceden hazırlar. Django yöneticisinin admin_static'dan gelen {% static %} bloğu, depolamayı kullanarak staticfiles one gibi davranır.

{% load staticfiles %}'u kullanarak sitemi AWS_QUERYSTRING_AUTH = False ve/veya AWS_S3_SECURE_URLS = False olduğunda her yerde eşit derecede bozuldu. Bu, querystring_authFalse olduğunda, x-amz-security-token'un temel olarak boto generate_url'da olması sorununa işaret ediyordu, x-amz-security-token hala ayarlandı.

+0

Bu benim için harika çalıştı, teşekkürler @amjoconn! – respondcreate

İlgili konular