django-waffle es una aleta característica de Django. & Nbsp; Puede definir las condiciones para que una bandera debe ser activo, y lo utilizan en un número de maneras.
Instalación:
Para empezar a utilizar la galleta, sólo tiene que añadir a tus INSTALLED_APPS y MIDDLEWARE_CLASSES:
INSTALLED_APPS = (
& Nbsp; # ...
& Nbsp; "galleta",
& Nbsp; # ...
)
MIDDLEWARE_CLASSES = (
& Nbsp; # ...
& Nbsp; "waffle.middleware.WaffleMiddleware ',
& Nbsp; # ...
)
Desde Waffle será establecer cookies en objetos de respuesta, es probable que desee que debajo de cualquier middleware que pellizca las cookies antes de enviarlos.
Creación de una bandera
Creación y gestión de banderas se realiza a través de la interfaz de administración de Django. Cada indicador de la función está representado por un objeto de la bandera, que tiene varias propiedades.
El Nombre:
& Nbsp; El nombre de la bandera. Se utilizará para identificar la bandera en todas partes.
Todo Mundo:
& Nbsp; Usted puede voltear esta bandera en (Sí) o desactivar (No) para todo el mundo, anulando todos los otros ajustes. Deja como Desconocido utilizar normalmente.
Por Ciento:
& Nbsp; Un porcentaje de usuarios para los que la bandera estará activo. Esto se mantiene a través de cookies, para que los usuarios inteligentes puede conseguir alrededor de él. Aún así, es el caso más común.
Los superusuarios:
& Nbsp; ¿Es esta bandera siempre activo para superusuarios?
Personal:
& Nbsp; ¿Es esta bandera siempre activo para el personal?
Jurada:
& Nbsp; ¿Es esta bandera siempre activa para los usuarios autenticados?
Grupos:
& Nbsp; Una lista de ID de grupo para el que este indicador será siempre activa.
Usuarios:
& Nbsp; Una lista de los ID de usuario para el que este indicador será siempre activa.
Puede combinar múltiples configuraciones aquí. Por ejemplo, usted podría ofrecer una función para el 12% de los usuarios y todos los superusuarios. Al combinar los ajustes, la bandera estará activo para el usuario, si cualquiera de los ajustes partidos para ellos.
Usar una bandera
Las banderas pueden ser utilizados en las plantillas, en las vistas, o envueltos alrededor de vistas enteras.
Si intenta utilizar una bandera que no está definido, siempre va a estar inactivo.
Usando una bandera en plantillas
Jingo / Jinja2
Para utilizar una bandera en una plantilla Jinja2 través Jingo, sólo tiene que hacer:
{% If waffle ('flag_name')%}
& Nbsp; El contenido si la bandera está activa
{% Terminara si%}
También puede agregar un {% else%} sección, por supuesto:
{% If waffle ('flag_name')%}
& Nbsp; la bandera está activo!
{% De otro modo%}
& Nbsp; la bandera está inactivo!
{% Terminara si%}
Plantillas de Django
Para utilizar una bandera en las plantillas de Django vainilla, puede utilizar la etiqueta de la galleta:
{Carga% waffle_tags%}
{% Waffle flag_name%}
& Nbsp; El contenido si la bandera está activa
{%}% Endwaffle
El {% waffle%} etiqueta también es compatible con un {% else%} sección:
{% Waffle flag_name%}
& Nbsp; la bandera está activo!
{% De otro modo%}
& Nbsp; la bandera está inactivo!
{%}% Endwaffle
Usando una bandera en Vistas
Para utilizar una bandera en una vista, sólo tiene waffle.is_active:
waffle importación
my_view def (petición):
& Nbsp; si waffle.is_active (solicitud, 'flag_name'):
& Nbsp; # Comportamiento si la bandera está activa.
& Nbsp; otra cosa:
& Nbsp; # Comportamiento si la bandera está inactivo.
Wraping Una vista de una bandera
También puede incluir una vista entera en una bandera:
desde waffle.decorators waffle importación
waffle ('flag_name')
my_view def (petición):
& Nbsp; # Ver sólo está disponible si la bandera está activa.
Si la bandera no está activo para la solicitud, la vista será un 404.
Usted puede revertir esto poniendo un signo de exclamación en el inicio del nombre de la bandera, por ejemplo:
waffle ('! flag_name')
my_view def (petición):
& Nbsp; # Ver sólo está disponible si la bandera está inactivo
Requisitos :.
- Python
Comentarios que no se encuentran