2012-04-02 34 views
6

Estoy usando Django (y Python) por primera vez, y estoy buscando la solución correcta para una plantilla incluida que puede o no haber sido proporcionada con un valor.Etiqueta 'con' condicional en Django

Por ejemplo, esta plantilla siempre tendrá una 'compañía' definida, pero puede que no siempre tenga un 'usuario' definido. Si no se define el 'usuario', entonces uno debe ser definido, así:

<% with guy=(user if user != None else company.admin_user) %> 

pero no he encontrado una buena manera de lograr esto. En algunos casos, un usuario será definido por el incluido de la plantilla, en otros casos la plantilla debería tener que encontrar un usuario 'predeterminado'.

Editar: La solución, según la respuesta de Ignacio, es la siguiente:

<% with guy=user|default:company.admin_user %> 

Respuesta

8

desea que el filtro default.

+0

Esta variable, 'guy' del ejemplo, se usa en muchos lugares de la plantilla. ¿Hay alguna manera de usar el filtro predeterminado para definirlo una vez? Me gustaría evitar tener que declarar un valor predeterminado para cada uso de la variable. –

+0

No recuerdo si los filtros funcionan con 'with'. Es posible que deba probar la sintaxis anterior. –

+0

Lo siento, soy muy nuevo para Python y Django, ¿cuál es la sintaxis anterior? No estoy buscando una forma más eficiente de llevar a cabo esta tarea, solo una forma que funcione. :) –

Cuestiones relacionadas