SORL-url er en ut-av-band behandling for SORL-miniatyrminiatyrbilder.
Installasjons
Installasjon
Installasjonen er så enkelt som pip installere SORL-url om den siste versjonen er alltid tilgjengelig på GitHub.
Setup
1. Legg SORL-url til dine settings.INSTALLED_APPS.
2. Legg url (r '^ thumbnails /', inkluderer ('sorl_url.urls')) til nettadressen din konfigurasjon.
3. Konfigurer standardinnstillingene (se Usage nedenfor).
Du kan lese mer om SORL-miniatyr, sine krav og hvordan den er installert og konfigurert på Les den Docs.
Bruk
Kjernen arbeidsflyt er bygd opp rundt bruk gjennom en mal tag heter image_url i sorl_url mal tag-bibliotek.
sorl_url ikke tjener bilder direkte. Det genererer dem som SORL-miniatyr ville (lagre dem i en cache via settings.THUMBNAIL_STORAGE) og deretter omdirigeringer til nettadressen til den genererte bildet.
Malkodene
Den primære påkalling av sorl_url er gjennom image_url mal tag, som bruker følgende grunnleggende syntaks:
{% Image_url SOURCE FIELD_NAME GEOMETRI [pinne 1 = VAL1 NØKKEL2 = VAL2 ...]%}
eller:
{% Image_url SOURCE FIELD_NAME GEOMETRI [pinne 1 = VAL1 NØKKEL2 = VAL2 ...] som VAR%}
& Nbsp; Bildet URL er {{VAR}}.
{% Tom%}
& Nbsp; Denne blokken er valgfritt.
{% Endimage_url}
Et eksempel påkallelse kan være:
<% Belastning image_url%>
Som kan gjøre som (linjeskift lagt til):
& Nbsp; DUwIiwib3B0aW9ucyI6eyJjcm9wIjoiY2VudGVyIn19: 1SiodC: _wL4eWd9crnlF
& Nbsp; X8VJFXgBJdISEQ 'alt = "Jane Doe" />
For en komplett liste over tilgjengelige alternativer, kan du se i dokumentasjonen for SORL-miniatyrminiatyr mal tag.
URL struktur
SORL-url genererer URLer på formen: /prefix/MODEL_NAME/FIELD_NAME/KEY.ext?config=OPTIONS
prefikset er diktert av stedet der synspunktene SORL-url er inkludert i URLConf
ALTERNATIVER er en konfigurasjon inkludert størrelsen og andre alternativer signert og maskeres av django.core.signing modulen beskrevet i URL Argumenter nedenfor.
Merk: config søkestrengen argument er obligatorisk. Unnlatelse av å tilveiebringe en konfig vil resultere i en 404.
URL Argumenter
Bildealternativer er gått via config søkestrengen argument. Verdiene er uklar, men ikke enscrypted. De er serialisert, komprimert og signert av django.core.signing.
Standardalternativer spesifisert i SORL_URL_CONFIG og andre SORL innstillinger er ikke inkludert i søkestrengen. Men signaturen saltet med en rekke egenskaper, blant annet den underliggende filnavn og en hash av alle relevante innstillinger for å sikre at så underliggende egenskaper og innstillinger er oppdatert, vil URL endre så vel. Merk at dette betyr at en endring til SORL_URL_CONFIG, for eksempel, vil resultere i alle nettadresser blir oppdatert. Dette kan eller ikke kan resultere i nye bilder som blir generert av SORL (avhengig av hva som er endret).
Debugging: For enkelt å se hvilke argumenter som blir vedtatt for rendering, rett og slett satt settings.THUMBNAIL_DEBUG til True og føyer & ekko = True til en generert URL for å se hvilke alternativer som blir vedtatt.
Konfigurering av innstillinger
De tilgjengelige alternativene og mislighold er kontrollert av SORL_URL_CONFIG innstillingen.
SORL_URL_CONFIG må være en ordbok-lignende objekt med tastene som tilsvarer MODEL_NAME URL komponent og en ordbok-lignende verdi som representerer modellkonfigurasjon.
I tillegg SORL_URL_PERMANENT_REDIRECT (standard: False) kan brukes til å styre den type viderekobling som benyttes.
Modell Configuration
Hver modell konfigurasjon tilbyr følgende alternativer:
- Modell: enten en modell klasse eller Django-stil prikkete navn (app_label.ModelName) (påkrevd)
- felt: en liste av attributtene på modell som bør eksponeres av denne konfigurasjonen; alternativt en 2-tuppel av formatet (attr_name, opsjoner) hvor alternativene er en ordbok som inneholder standard som skal sendes til SORL backend sin get_thumbnail metode (påkrevd)
- Backend: den SORL backend, som en streng som representerer modulen banen, som skal brukes (valgfritt, som standard `` sorl.thumbnail.default.backend``)
- Key_field: feltet som skal brukes i objekt oppslag for nøkkelen delen av URL (valgfritt, som standard `` id``)
- Key_filter: en transformasjonsfunksjon som skal brukes på nøkkelen URL komponent for å sikre at det er riktig forberedt på ORM (valgfritt, mislighold til `` lambda x: int (x) ``)
- valg: en ordbok som inneholder standardalternativer som skal sendes til SORL backend sin get_thumbnail metode. Enkeltfelt kan overstyre disse alternativene. (Valgfritt; standard til `` {} ``)
Konfigurasjons Eksempler
En minimal konfigurasjon kan se slik ut:
SORL_URL_CONFIG = {
& nbsp; "profiler": {
& Nbsp; 'modell': 'profiles.Profile',
& Nbsp; 'felt': ['avatar'],
& Nbsp;}
}
Ovennevnte konfigurasjon ville bety at følgende URL vil være gyldig: /prefix/profiles/avatar/1.png?config=CONFIG
En mer avansert konfigurasjon kan se slik ut:
SORL_URL_CONFIG = {
& nbsp; "profiler": {
& Nbsp; 'modell': 'profiles.Profile',
& Nbsp; 'felt': [
& Nbsp; ('avatar', {
& Nbsp; 'format': 'PNG',
& Nbsp; 'crop': 'top',
& Nbsp; 'eksklusivt': Sann
& Nbsp;}),
& Nbsp; ('bakgrunn': {
& Nbsp; 'format': 'JPEG',
& Nbsp; "kvalitet": 90,
& Nbsp; 'fargerom': 'GRAY'
& Nbsp;}
& Nbsp;)
& Nbsp;]
& Nbsp; 'key_field': 'user__username',
& Nbsp; 'key_filter': Ingen # Standard er lambda x: int (x),
& Nbsp; # men ingen innebærer en no-op (lambda x: x)
& Nbsp;}
}
Ovennevnte konfigurasjon ville bety at følgende nettadresser vil bli utsatt:
- /prefix/profiles/avatar/1.png?config=CONFIG
- /prefix/profiles/background/1.jpg?config=CONFIG
Requirements:
- Python
- SORL-miniatyr
Kommentarer ikke funnet