Mit django-storages und dem s3boto-Backend: x-amz-security-token wird angehängt, was ich nicht will

8

Ich liefere statische Inhalte von s3 mit Django-Speichern. Dies funktioniert gut bei Verwendung von Boto 2.5.X. Aber wenn ich Boto & gt; = 2.6 benutze, werden die URLs zu s3-Medien verstümmelt; Eine zusätzliche Variable wird angehängt. Der Unterschied ist, dass das x-amz-Sicherheitstoken angehängt wird (was ich nicht will). Auf die Medien kann nicht über die URL zugegriffen werden.

In meiner settings.py verwende ich

%Vor%

Die schlechte URL:

%Vor%

Irgendwelche Vorschläge?

    
bowlby 12.02.2013, 15:45
quelle

2 Antworten

2

Ich habe eine bessere Arbeit basierend auf Django-Speicher (Version 1.1.8), die

ist %Vor%

Dadurch wird vermieden, dass django-storage botos generate_url aufruft und nur den Pfad zur Ressource zusammensticht. Wenn Sie auth verwenden möchten, um statische Dateien zu erhalten, funktioniert das nicht.

Für die Neugierigen:

Statische Dateien auf einigen Teilen meiner Seite funktionierten und andere Teile, wie der Admin, funktionierten nicht. Das war mit dem Unterschied zwischen

verbunden %Vor%

und

%Vor%

Beide definieren ein Block-Tag {% static %} , aber sie machen verschiedene Dinge. Dasjenige von static stürzt nur {{STATIC_URL}} ab, dasjenige aus statischen Dateien, das die Methode url des Speichers verwendet, um die URL für die Datei zu erhalten. Der {% static %} -Block des Django-Administrators von admin_static verhält sich wie der staticfiles 1, der den Speicher verwendet.

Durch die Verwendung von {% load staticfiles %} wurde meine Website überall gleich aufgelöst, wenn AWS_QUERYSTRING_AUTH = False und / oder AWS_S3_SECURE_URLS = False . Das wies darauf hin, dass das Problem im Wesentlichen in boto generate_url lag, dass, wenn querystring_auth ist False , die x-amz-security-token noch gesetzt wurde.

    
amjoconn 26.02.2015 18:17
quelle
0

versuche dies in deiner settings.py

hinzuzufügen
  

AWS_S3_SECURE_URLS = Falsch

    
mohd 17.11.2014 16:30
quelle

Tags und Links