2012-02-27 14 views
51

¿Puedo usar la verificación de permisos de la aplicación Auth dentro de una plantilla en Django? (Quiero mostrar un formulario simple al final de la plantilla para usuarios con privilegios)Verificar el permiso dentro de una plantilla en Django

Y más importante, ¿debo hacerlo o no es el "modo Django"?

+0

Para personas como yo, que se topan con esto más tarde, el enlace para Django 1.5 fue cambiado ligeramente ly. La información ahora se puede encontrar en los documentos en esta url: https://docs.djangoproject.com/en/1.5/topics/auth/default/#permissions Nada en la respuesta original realmente cambió, pero esto es solo una url nueva :) – Xudonax

Respuesta

114

Si usted está buscando para comprobar los permisos en las plantillas, el siguiente código sería suficiente:

{% if perms.app_label.can_do_something %} 
<form here> 
{% endif %} 

Dónde modelo se refiere al modelo que el usuario necesita permisos para ver la forma de.

Consulte https://docs.djangoproject.com/en/stable/topics/auth/default/#permissions para ver más ejemplos.

los permisos del usuario que ha iniciado sesión en se almacenan en la variable de plantilla {{ perms }}

(Esto requiere el siguiente procesador de contexto para estar habilitado: django.contrib.auth.context_processors.auth)

+2

Tenga en cuenta que si ha iniciado sesión como superusuario, 'perms.app_label.foobar' siempre será verdadero, incluso si ha escrito mal el nombre del permiso. – Flimm

Cuestiones relacionadas