SORL-url es un procesamiento fuera de banda para las miniaturas SORL-miniatura.
Instalación y configuración de
Instalación
La instalación es tan fácil como pip install SORL-url aunque la versión más reciente está siempre disponible en GitHub.
Preparar
1. Añadir SORL-url a sus settings.INSTALLED_APPS.
2. Agregar url (r '^ miniaturas /', include ('sorl_url.urls')) en la configuración de URL.
3. Configure los valores por defecto (ver Uso de abajo).
Puedes leer más sobre SORL-miniatura, sus requisitos y cómo se instala y configura en Lea el Docs.
Uso
El flujo de trabajo básico se construye alrededor de uso a través de una etiqueta de plantilla llamada IMAGE_URL en la biblioteca de etiquetas de plantilla sorl_url.
sorl_url no sirven a las imágenes directamente. Esto les genera como SORL miniaturas sería (almacenándolos en una memoria caché mediante settings.THUMBNAIL_STORAGE) y luego vuelve a dirigir a la dirección URL de la imagen generada.
Etiquetas de plantilla
La invocación principal de sorl_url es a través de la etiqueta de plantilla IMAGE_URL, que utiliza la siguiente sintaxis básica:
{% IMAGE_URL FUENTE FIELD_NAME GEOMETRÍA [key1 = VAL1 key2 = VAL2 ...]%}
o:
{% IMAGE_URL FUENTE FIELD_NAME GEOMETRÍA [key1 = VAL1 key2 = VAL2 ...] como VAR%}
& Nbsp; La URL de la imagen es {{VAR}}.
{% Vacío%}
& Nbsp; este bloque es opcional.
{%} Endimage_url
Un ejemplo de invocación podría ser:
Lo que podría hacer como (saltos de línea en el original):
Para obtener una lista completa de las opciones disponibles, por favor, consulte la documentación de etiqueta de plantilla miniatura de SORL miniaturas.
Estructura URL
SORL-url genera URLs de la forma: /prefix/MODEL_NAME/FIELD_NAME/KEY.ext?config=OPTIONS
prefijo está dictada por la ubicación en la que los puntos de vista SORL-URL se incluyen en la URLconf
OPCIONES es una configuración incluyendo el tamaño y otras opciones firmados y ofuscado por el módulo django.core.signing descrito en Argumentos URL de abajo.
Nota: el argumento de cadena de consulta config es obligatoria. Si no se proporciona una configuración dará como resultado un 404.
Argumentos URL
Opciones de imagen se transmiten a través del argumento cadena de consulta config. Los valores están ofuscados pero no enscrypted. Son serializado, comprimido y firmado por django.core.signing.
Opciones por defecto especificados en SORL_URL_CONFIG y otros ajustes SORL no están incluidos en la cadena de consulta. Sin embargo, la firma se sala con una variedad de atributos, incluyendo el nombre del archivo subyacente y un hash de todos los ajustes pertinentes para garantizar que, como se actualizan los atributos y ajustes subyacentes, el URL cambiará también. Tenga en cuenta que esto significa que un cambio en SORL_URL_CONFIG, por ejemplo, resultará en todas las direcciones URL se actualizan. Esto puede o no resultar en nuevas imágenes que se generan por SORL (dependiendo de lo que se ha cambiado).
Depuración: Para ver fácilmente qué argumentos se pasan para el renderizado, basta con establecer settings.THUMBNAIL_DEBUG True y anexar y eco = True a cualquier URL generada para ver lo que se están aprobando opciones.
Configuración Configuración
Las opciones y valores predeterminados disponibles son controlados por el ajuste SORL_URL_CONFIG.
SORL_URL_CONFIG debe ser un objeto similar a un diccionario con claves correspondientes al componente URL MODEL_NAME y un valor similar a un diccionario que representa la configuración del modelo.
Además SORL_URL_PERMANENT_REDIRECT (por defecto: Falso) se puede utilizar para controlar el tipo de redirección que se utiliza.
Configuración de Modelo
Cada configuración de modelo ofrece las siguientes opciones:
- Modelo: o una clase de modelo o el nombre de puntos de estilo Django (app_label.ModelName) (requerido)
- campos: una lista de los atributos de modelo que debería estar expuestos por esta configuración; alternativamente, un 2-tupla del formato (nombre_atributo, opciones) donde las opciones es un diccionario que contiene por defecto que se pasa al método get_thumbnail del backend SORL (requerido)
- Backend: el backend SORL, como una cadena que representa la ruta del módulo, que se utilizará (opcional; por defecto es `` sorl.thumbnail.default.backend``)
- Key_field: el campo para ser utilizado en operaciones de búsqueda de objetos para la parte clave de la URL (opcional; por defecto es `` id``)
- Key_filter: una función de transformación que se aplicará al componente clave de URL para asegurarse de que está bien preparado para el ORM (opcional; por defecto es `` lambda x: int (x) ``)
- opciones: un diccionario que contiene las opciones por defecto que se pasarán al método get_thumbnail del backend SORL. Los campos individuales pueden anular estas opciones. (Opcional, por defecto es `` {} ``)
Ejemplos de configuración
Una configuración mínima podría ser:
SORL_URL_CONFIG = {
& nbsp; "perfiles": {
& Nbsp; "modelo": 'profiles.Profile',
& Nbsp; "campos": ['avatar'],
& Nbsp;}
}
La configuración anterior significaría que la siguiente URL sería válida: /prefix/profiles/avatar/1.png?config=CONFIG
Una configuración más avanzada podría ser:
SORL_URL_CONFIG = {
& nbsp; "perfiles": {
& Nbsp; "modelo": 'profiles.Profile',
& Nbsp; "campos": [
& Nbsp; ('avatar', {
& Nbsp; "formato": 'PNG',
& Nbsp; 'cosecha': 'top',
& Nbsp; 'lujo': True
& Nbsp;}),
& Nbsp; ('background': {
& Nbsp; "formato": "JPEG",
& Nbsp; "calidad": 90,
& Nbsp; "espacio de color": "gris"
& Nbsp;}
& Nbsp;)
& Nbsp;],
& Nbsp; "key_field ':' user__username ',
& Nbsp; "key_filter ': Ninguno # El valor por defecto es lambda x: int (x),
& Nbsp; # pero ninguno implica un no-op (lambda x: x)
& Nbsp;}
}
La configuración anterior significaría que las siguientes URL estarían expuestos:
- /prefix/profiles/avatar/1.png?config=CONFIG
- /prefix/profiles/background/1.jpg?config=CONFIG
Requirements:
- Python
- SORL-miniatura
Comentarios que no se encuentran