2010-06-03 8 views
38

he visto algunos ejemplos que definen los campos de selección de este modo:Django: Significado del guion bajo principal en la lista de tuplas usadas para definir campos de elección?

COUNTRIES = (
    ('fr', _('France')), 
    ('de', _('Germany')), 
    ... 
) 

(fuente: http://code.djangoproject.com/ticket/5446 Véase también: http://djangosnippets.org/snippets/494/)

¿Cuál es el significado de las subrayado iniciales? ¿Y por qué el segundo valor de la tupla está entre paréntesis?

Respuesta

62

El subrayado inicial es el alias de función comúnmente utilizado para una de las funciones ugettext utilizadas por la mecánica de internacionalización (i18n).

Significa que cuando tiene i18n en ejecución, las etiquetas del campo de opción se traducirán al idioma del usuario final apropiado, si hay una traducción disponible.

En la parte superior de un archivo que cuenta con este tipo de sintaxis, debería ver (o si no, usted debe tener) algo como:

from django.utils.translation import ugettext_lazy as _

Véase el docs here para más detalles

Cuestiones relacionadas