sorl-url är en out-of-band bearbetning för sorl-miniatyr miniatyrer.
Installation och inställning
Installation
Installationen är lika enkelt som pip installera sorl-url trots den senaste versionen finns alltid på GitHub.
Inställning
1. Lägg sorl-url till dina settings.INSTALLED_APPS.
2. Lägg url (r '^ miniatyrer /', omfattar ("sorl_url.urls")) till din webbadress konfiguration.
3. Konfigurera standardvärden (se Användning nedan).
Du kan läsa mer om sorl-miniatyr, dess krav och hur den installeras och konfigureras på Läs Docs.
Användning
Kärn arbetsflöde är uppbyggd kring användning genom en mall tagg som heter bild_URL i sorl_url mallen taggbibliotek.
sorl_url tjänar inte bilder direkt. Det genererar dem som sorl-miniatyr skulle (lagra dem i en cache via settings.THUMBNAIL_STORAGE) och sedan omdirigerar till webbadressen till den genererade bilden.
Mall Taggar
Den primära åkallan av sorl_url är genom bild_URL malltagg, som använder följande grundläggande syntax:
{% Bild_URL KÄLLA FIELD_NAME GEOMETRI [nyckel1 = VAL1 KEY2 = val2 ...]%}
eller:
{% Bild_URL KÄLLA FIELD_NAME GEOMETRI [nyckel1 = VAL1 KEY2 = val2 ...] som VAR%}
& Nbsp; Bild URL är {{VAR}}.
{% Tom%}
& Nbsp; Det här blocket är valfritt.
{% Endimage_url}
Ett exempel åkallan kan vara:
<% Belastning bild_URL%>
Som skulle kunna göra så (radbrytningar tillagda):& Nbsp; DUwIiwib3B0aW9ucyI6eyJjcm9wIjoiY2VudGVyIn19: 1SiodC: _wL4eWd9crnlF
& Nbsp; X8VJFXgBJdISEQ 'alt = "Jane Doe" />
För en komplett lista med tillgängliga alternativ, se dokumentationen för sorl-thumbnail miniatyrmalltagg.
URL Struktur
sorl-url genererar webbadresser i formuläret: /prefix/MODEL_NAME/FIELD_NAME/KEY.ext?config=OPTIONS
prefix dikteras av den plats där utsikten sorl-url ingår i URLConf
ALTERNATIV är en konfiguration inklusive storlek och andra alternativ signerade och förvrängd av django.core.signing modulen beskrivs i URL Argument nedan.
Notera: config frågesträngen argument är obligatoriskt. Underlåtenhet att tillhandahålla en config kommer att resultera i en 404.
URL Argument
Bildalternativ skickas via config frågesträngen argument. Värdena förvrängd men inte enscrypted. De är serialiserad, komprimeras och undertecknad av django.core.signing.
Standardalternativ som anges i SORL_URL_CONFIG och andra sorl inställningar ingår inte i frågesträngen. Dock är signaturen saltas med olika attribut, inklusive den underliggande filnamn och en hash av alla relevanta inställningar för att se till att så underliggande attribut och inställningar uppdateras, kommer URL förändras. Observera att detta innebär att en förändring till SORL_URL_CONFIG, till exempel, kommer att leda till att alla webbadresser på att uppdateras. Detta kan eller inte kan leda till att nya bilder som genereras av sorl (beroende på vad som har ändrats).
Debugging: Att enkelt se vilka argument som förs över för rendering, helt enkelt in settings.THUMBNAIL_DEBUG till True och bifoga & eko = Sant att varje genererad URL för att se vilka alternativ som förs vidare.
Konfigurera inställningar
De tillgängliga alternativen och standardvärden styrs av inställningen SORL_URL_CONFIG.
SORL_URL_CONFIG måste vara en ordbok liknande föremål med nycklar som motsvarar MODEL_NAME URL komponent och en ordlista liknande värde som representerar modellkonfigurationen.
Dessutom SORL_URL_PERMANENT_REDIRECT (default: False) kan användas för att styra vilken typ av redirect som används.
Modell Konfiguration
Varje modell konfiguration erbjuder följande alternativ:
- Modell: antingen en modellklass eller Django stil prickade namn (app_label.ModelName) (krävs)
- fält: en lista med attribut på modell som bör exponeras av denna konfiguration; alternativt en 2-tupel av formatet (attr_name, optioner) där alternativen är en ordbok som innehåller standard som ska skickas till sorl backend s get_thumbnail metod (krävs)
- Backend: det sorl backend, som en sträng som representerar modulen vägen, som ska användas (tillval, standard `` sorl.thumbnail.default.backend``)
- Key_field: fältet som ska användas i objektuppslagningar nyckel delen av URL (valfritt; standard `` id``)
- Key_filter: en omvandling funktion som skall tillämpas på den nyckel URL komponenten för att se till att den är ordentligt förberedd för ORM (valfritt; defaults till `` lambda x: int (x) ``)
- alternativ: en ordbok som innehåller standardalternativ som ska skickas till sorl backend s get_thumbnail metod. Enskilda fält kan åsidosätta dessa alternativ. (Tillval, standard `` {} ``)
Konfigurations Exempel
En minimal konfiguration kan se ut:
SORL_URL_CONFIG = {
& nbsp; "profiler": {
& Nbsp; "modell": "profiles.Profile",
& Nbsp; "fält": ['Avatar'],
& Nbsp;}
}
Ovanstående konfiguration skulle innebära att följande webbadress skulle vara giltigt: /prefix/profiles/avatar/1.png?config=CONFIG
En mer avancerad konfiguration kan se ut:
SORL_URL_CONFIG = {
& nbsp; "profiler": {
& Nbsp; "modell": "profiles.Profile",
& Nbsp; "fält": [
& Nbsp; ("Avatar", {
& Nbsp; "format": "PNG",
& Nbsp; 'gröda ":" top ",
& Nbsp; "exklusiva": True
& Nbsp;}),
& Nbsp; ('bakgrunden': {
& Nbsp; "format": "JPEG",
& Nbsp; "kvalitet": 90,
& Nbsp; 'färgrymd ":" grå "
& Nbsp;}
& Nbsp;)
& Nbsp;],
& Nbsp; 'key_field': 'user__username ",
& Nbsp; 'key_filter': Inga # Standard är lambda x: int (x),
& Nbsp; # men None innebär en no-op (lambda x: x)
& Nbsp;}
}
Ovanstående konfiguration skulle innebära att följande webbadresser skulle utsättas:
- /prefix/profiles/avatar/1.png?config=CONFIG
- /prefix/profiles/background/1.jpg?config=CONFIG
Requirements:
- Python
- sorl-miniatyr
Kommentarer hittades inte