mirror of
https://github.com/django/django.git
synced 2025-07-04 09:49:12 +00:00
newforms-admin: Merged to [4640]
git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@4641 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
5e34ce97df
commit
ff3423ca4c
@ -99,7 +99,7 @@ SERVER_EMAIL = 'root@localhost'
|
|||||||
SEND_BROKEN_LINK_EMAILS = False
|
SEND_BROKEN_LINK_EMAILS = False
|
||||||
|
|
||||||
# Database connection info.
|
# Database connection info.
|
||||||
DATABASE_ENGINE = '' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
|
DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
|
||||||
DATABASE_NAME = '' # Or path to database file if using sqlite3.
|
DATABASE_NAME = '' # Or path to database file if using sqlite3.
|
||||||
DATABASE_USER = '' # Not used with sqlite3.
|
DATABASE_USER = '' # Not used with sqlite3.
|
||||||
DATABASE_PASSWORD = '' # Not used with sqlite3.
|
DATABASE_PASSWORD = '' # Not used with sqlite3.
|
||||||
|
Binary file not shown.
@ -1,22 +1,22 @@
|
|||||||
# translation of django.po to Castellano
|
# translation of django.po to Castellano
|
||||||
# This file is distributed under the same license as the PACKAGE package.
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
|
# Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER.
|
||||||
#
|
#
|
||||||
# Ricardo Javier Cárdenes Medina <ricardo.cardenes@gmail.com>, 2005.
|
# Ricardo Javier Cárdenes Medina <ricardo.cardenes@gmail.com>, 2005.
|
||||||
# Ricardo Javier Cardenes Medina <ricardo.cardenes@gmail.com>, 2005.
|
# Ricardo Javier Cardenes Medina <ricardo.cardenes@gmail.com>, 2005.
|
||||||
# AgarFu <heaven@croasanaso.sytes.net>, 2007.
|
# AgarFu <heaven@croasanaso.sytes.net>, 2007.
|
||||||
|
# Mario Gonzalez <gonzalemario @t gmail.com>
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: django\n"
|
"Project-Id-Version: django\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2007-02-24 17:08+0000\n"
|
"POT-Creation-Date: 2007-02-24 17:08+0000\n"
|
||||||
"PO-Revision-Date: 2007-02-24 17:12+0000\n"
|
"PO-Revision-Date: 2007-02-24 18:02-0600\n"
|
||||||
"Last-Translator: AgarFu <heaven@croasanaso.sytes.net>\n"
|
"Last-Translator: AgarFu <heaven@croasanaso.sytes.net>\n"
|
||||||
"Language-Team: Castellano <es@li.org>\n"
|
"Language-Team: Castellano <Django-I18N@googlegroups.com>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=ISO-8859-1\n"
|
"Content-Type: text/plain; charset=ISO-8859-1\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: KBabel 1.11.4\n"
|
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: utils/dates.py:6
|
#: utils/dates.py:6
|
||||||
@ -187,7 +187,7 @@ msgstr[1] "meses"
|
|||||||
msgid "week"
|
msgid "week"
|
||||||
msgid_plural "weeks"
|
msgid_plural "weeks"
|
||||||
msgstr[0] "semana"
|
msgstr[0] "semana"
|
||||||
msgstr[1] ""
|
msgstr[1] "semanas"
|
||||||
|
|
||||||
#: utils/timesince.py:15
|
#: utils/timesince.py:15
|
||||||
msgid "day"
|
msgid "day"
|
||||||
@ -209,23 +209,23 @@ msgstr[1] "minutos"
|
|||||||
|
|
||||||
#: utils/translation/trans_real.py:362
|
#: utils/translation/trans_real.py:362
|
||||||
msgid "DATE_FORMAT"
|
msgid "DATE_FORMAT"
|
||||||
msgstr "FORMATO_DE_FECHA"
|
msgstr "j N Y"
|
||||||
|
|
||||||
#: utils/translation/trans_real.py:363
|
#: utils/translation/trans_real.py:363
|
||||||
msgid "DATETIME_FORMAT"
|
msgid "DATETIME_FORMAT"
|
||||||
msgstr "FORMATO_DE_FECHA_Y_HORA"
|
msgstr "j N Y P"
|
||||||
|
|
||||||
#: utils/translation/trans_real.py:364
|
#: utils/translation/trans_real.py:364
|
||||||
msgid "TIME_FORMAT"
|
msgid "TIME_FORMAT"
|
||||||
msgstr "FORMATO_DE_HORA"
|
msgstr "P"
|
||||||
|
|
||||||
#: utils/translation/trans_real.py:380
|
#: utils/translation/trans_real.py:380
|
||||||
msgid "YEAR_MONTH_FORMAT"
|
msgid "YEAR_MONTH_FORMAT"
|
||||||
msgstr "FORMATO_DE_AÑO_Y_MES"
|
msgstr "F Y"
|
||||||
|
|
||||||
#: utils/translation/trans_real.py:381
|
#: utils/translation/trans_real.py:381
|
||||||
msgid "MONTH_DAY_FORMAT"
|
msgid "MONTH_DAY_FORMAT"
|
||||||
msgstr "FORMATO_DE_MES_Y_DÍA"
|
msgstr "j \\de F"
|
||||||
|
|
||||||
#: conf/global_settings.py:39
|
#: conf/global_settings.py:39
|
||||||
msgid "Arabic"
|
msgid "Arabic"
|
||||||
@ -340,9 +340,8 @@ msgid "Slovak"
|
|||||||
msgstr "Eslovaco"
|
msgstr "Eslovaco"
|
||||||
|
|
||||||
#: conf/global_settings.py:67
|
#: conf/global_settings.py:67
|
||||||
#, fuzzy
|
|
||||||
msgid "Slovenian"
|
msgid "Slovenian"
|
||||||
msgstr "Eslovaco"
|
msgstr "Esloveno"
|
||||||
|
|
||||||
#: conf/global_settings.py:68
|
#: conf/global_settings.py:68
|
||||||
msgid "Serbian"
|
msgid "Serbian"
|
||||||
@ -354,7 +353,7 @@ msgstr "Sueco"
|
|||||||
|
|
||||||
#: conf/global_settings.py:70
|
#: conf/global_settings.py:70
|
||||||
msgid "Tamil"
|
msgid "Tamil"
|
||||||
msgstr ""
|
msgstr "Tamil"
|
||||||
|
|
||||||
#: conf/global_settings.py:71
|
#: conf/global_settings.py:71
|
||||||
msgid "Turkish"
|
msgid "Turkish"
|
||||||
@ -388,14 +387,12 @@ msgid "Please enter a valid %s."
|
|||||||
msgstr "Por favor, introduzca un %s válido."
|
msgstr "Por favor, introduzca un %s válido."
|
||||||
|
|
||||||
#: db/models/fields/related.py:642
|
#: db/models/fields/related.py:642
|
||||||
#, fuzzy
|
|
||||||
msgid "Separate multiple IDs with commas."
|
msgid "Separate multiple IDs with commas."
|
||||||
msgstr " Separe múltiples IDs con comas."
|
msgstr "Separe múltiples IDs con comas."
|
||||||
|
|
||||||
#: db/models/fields/related.py:644
|
#: db/models/fields/related.py:644
|
||||||
#, fuzzy
|
|
||||||
msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
|
msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
|
||||||
msgstr "Pulse \"Control\" o \"Command\" en un Mac para escoger más de uno."
|
msgstr "Mantenga presionado \"Control\", o \"Command\" en un Mac, para seleccionar más de uno."
|
||||||
|
|
||||||
#: db/models/fields/related.py:691
|
#: db/models/fields/related.py:691
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -462,9 +459,9 @@ msgid "Select a valid choice. %s is not one of the available choices."
|
|||||||
msgstr "Escoja una opción válida; '%s' no es una de las opciones disponibles."
|
msgstr "Escoja una opción válida; '%s' no es una de las opciones disponibles."
|
||||||
|
|
||||||
#: newforms/fields.py:101 newforms/fields.py:254
|
#: newforms/fields.py:101 newforms/fields.py:254
|
||||||
#, fuzzy, python-format
|
#, python-format
|
||||||
msgid "Ensure this value has at most %d characters."
|
msgid "Ensure this value has at most %d characters."
|
||||||
msgstr "Asegúrese de que su texto tiene menos de %s carácter."
|
msgstr "Asegúrese de que su texto tiene a lo más %d caracteres."
|
||||||
|
|
||||||
#: newforms/fields.py:103 newforms/fields.py:256
|
#: newforms/fields.py:103 newforms/fields.py:256
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -478,7 +475,7 @@ msgstr "Introduzca un n
|
|||||||
#: newforms/fields.py:128
|
#: newforms/fields.py:128
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Ensure this value is less than or equal to %s."
|
msgid "Ensure this value is less than or equal to %s."
|
||||||
msgstr "Asegñurese de que este valor es menor o igual a %s."
|
msgstr "Asegúrese de que este valor es menor o igual a %s."
|
||||||
|
|
||||||
#: newforms/fields.py:130
|
#: newforms/fields.py:130
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -533,11 +530,10 @@ msgid "This value must contain only letters, numbers and underscores."
|
|||||||
msgstr "Este valor debe contener sólo letras, números y guiones bajos."
|
msgstr "Este valor debe contener sólo letras, números y guiones bajos."
|
||||||
|
|
||||||
#: core/validators.py:68
|
#: core/validators.py:68
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"This value must contain only letters, numbers, underscores, dashes or "
|
"This value must contain only letters, numbers, underscores, dashes or "
|
||||||
"slashes."
|
"slashes."
|
||||||
msgstr "Este valor debe contener sólo letras, números, guiones bajos y barras (/)."
|
msgstr "Este valor debe contener letras, números, guiones bajos o barras solamente."
|
||||||
|
|
||||||
#: core/validators.py:72
|
#: core/validators.py:72
|
||||||
msgid "This value must contain only letters, numbers, underscores or hyphens."
|
msgid "This value must contain only letters, numbers, underscores or hyphens."
|
||||||
@ -659,8 +655,8 @@ msgstr "Introduzca una abreviatura v
|
|||||||
#, python-format
|
#, python-format
|
||||||
msgid "Watch your mouth! The word %s is not allowed here."
|
msgid "Watch your mouth! The word %s is not allowed here."
|
||||||
msgid_plural "Watch your mouth! The words %s are not allowed here."
|
msgid_plural "Watch your mouth! The words %s are not allowed here."
|
||||||
msgstr[0] "¡Vigila tu boca! Aquí no admitimos la palabra %s."
|
msgstr[0] "¡Cuida tu vocabulario! Aquí no admitimos la palabra %s."
|
||||||
msgstr[1] "¡Vigila tu boca! Aquí no admitimos las palabras %s."
|
msgstr[1] "¡Cuida tu vocabulario! Aquí no admitimos las palabras %s."
|
||||||
|
|
||||||
#: core/validators.py:272
|
#: core/validators.py:272
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -690,9 +686,9 @@ msgid "Duplicate values are not allowed."
|
|||||||
msgstr "No se admiten valores duplicados."
|
msgstr "No se admiten valores duplicados."
|
||||||
|
|
||||||
#: core/validators.py:364
|
#: core/validators.py:364
|
||||||
#, fuzzy, python-format
|
#, python-format
|
||||||
msgid "This value must be between %(lower)s and %(upper)s."
|
msgid "This value must be between %(lower)s and %(upper)s."
|
||||||
msgstr "Este valor no debe ser mayor que %s."
|
msgstr "Este valor debe estar entre %(lower)s y %(upper)s."
|
||||||
|
|
||||||
#: core/validators.py:367
|
#: core/validators.py:367
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -725,7 +721,7 @@ msgstr[1] ""
|
|||||||
"total."
|
"total."
|
||||||
|
|
||||||
#: core/validators.py:423
|
#: core/validators.py:423
|
||||||
#, fuzzy, python-format
|
#, python-format
|
||||||
msgid "Please enter a valid decimal number with a whole part of at most %s digit."
|
msgid "Please enter a valid decimal number with a whole part of at most %s digit."
|
||||||
msgid_plural "Please enter a valid decimal number with a whole part of at most %s digits."
|
msgid_plural "Please enter a valid decimal number with a whole part of at most %s digits."
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
@ -901,13 +897,12 @@ msgid "template name"
|
|||||||
msgstr "nombre de plantilla"
|
msgstr "nombre de plantilla"
|
||||||
|
|
||||||
#: contrib/flatpages/models.py:13
|
#: contrib/flatpages/models.py:13
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Example: 'flatpages/contact_page.html'. If this isn't provided, the system "
|
"Example: 'flatpages/contact_page.html'. If this isn't provided, the system "
|
||||||
"will use 'flatpages/default.html'."
|
"will use 'flatpages/default.html'."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Ejemplo: 'flatpages/contact_page'. Si no lo proporciona, el sistema usará "
|
"Ejemplo: 'flatpages/contact_page.html'. Si no es proporcionado, el sistema usará "
|
||||||
"'flatpages/default'."
|
"'flatpages/default.html'."
|
||||||
|
|
||||||
#: contrib/flatpages/models.py:14
|
#: contrib/flatpages/models.py:14
|
||||||
msgid "registration required"
|
msgid "registration required"
|
||||||
@ -926,9 +921,8 @@ msgid "flat pages"
|
|||||||
msgstr "páginas estáticas"
|
msgstr "páginas estáticas"
|
||||||
|
|
||||||
#: contrib/auth/views.py:39
|
#: contrib/auth/views.py:39
|
||||||
#, fuzzy
|
|
||||||
msgid "Logged out"
|
msgid "Logged out"
|
||||||
msgstr "Terminar sesión"
|
msgstr "Sesión terminada"
|
||||||
|
|
||||||
#: contrib/auth/models.py:38 contrib/auth/models.py:57
|
#: contrib/auth/models.py:38 contrib/auth/models.py:57
|
||||||
msgid "name"
|
msgid "name"
|
||||||
@ -1225,12 +1219,10 @@ msgid "approved by staff"
|
|||||||
msgstr "aprobado por el staff"
|
msgstr "aprobado por el staff"
|
||||||
|
|
||||||
#: contrib/comments/models.py:176
|
#: contrib/comments/models.py:176
|
||||||
#, fuzzy
|
|
||||||
msgid "free comment"
|
msgid "free comment"
|
||||||
msgstr "Comentario libre"
|
msgstr "Comentario libre"
|
||||||
|
|
||||||
#: contrib/comments/models.py:177
|
#: contrib/comments/models.py:177
|
||||||
#, fuzzy
|
|
||||||
msgid "free comments"
|
msgid "free comments"
|
||||||
msgstr "Comentarios libres"
|
msgstr "Comentarios libres"
|
||||||
|
|
||||||
@ -1243,12 +1235,10 @@ msgid "score date"
|
|||||||
msgstr "fecha de la puntuación"
|
msgstr "fecha de la puntuación"
|
||||||
|
|
||||||
#: contrib/comments/models.py:237
|
#: contrib/comments/models.py:237
|
||||||
#, fuzzy
|
|
||||||
msgid "karma score"
|
msgid "karma score"
|
||||||
msgstr "Punto karma"
|
msgstr "Punto karma"
|
||||||
|
|
||||||
#: contrib/comments/models.py:238
|
#: contrib/comments/models.py:238
|
||||||
#, fuzzy
|
|
||||||
msgid "karma scores"
|
msgid "karma scores"
|
||||||
msgstr "Puntos karma"
|
msgstr "Puntos karma"
|
||||||
|
|
||||||
@ -1273,12 +1263,10 @@ msgid "flag date"
|
|||||||
msgstr "fecha de la marca"
|
msgstr "fecha de la marca"
|
||||||
|
|
||||||
#: contrib/comments/models.py:268
|
#: contrib/comments/models.py:268
|
||||||
#, fuzzy
|
|
||||||
msgid "user flag"
|
msgid "user flag"
|
||||||
msgstr "Marca de usuario"
|
msgstr "Marca de usuario"
|
||||||
|
|
||||||
#: contrib/comments/models.py:269
|
#: contrib/comments/models.py:269
|
||||||
#, fuzzy
|
|
||||||
msgid "user flags"
|
msgid "user flags"
|
||||||
msgstr "Marcas de usuario"
|
msgstr "Marcas de usuario"
|
||||||
|
|
||||||
@ -1292,12 +1280,10 @@ msgid "deletion date"
|
|||||||
msgstr "fecha de eliminación"
|
msgstr "fecha de eliminación"
|
||||||
|
|
||||||
#: contrib/comments/models.py:280
|
#: contrib/comments/models.py:280
|
||||||
#, fuzzy
|
|
||||||
msgid "moderator deletion"
|
msgid "moderator deletion"
|
||||||
msgstr "Eliminación de moderador"
|
msgstr "Eliminación de moderador"
|
||||||
|
|
||||||
#: contrib/comments/models.py:281
|
#: contrib/comments/models.py:281
|
||||||
#, fuzzy
|
|
||||||
msgid "moderator deletions"
|
msgid "moderator deletions"
|
||||||
msgstr "Eliminaciones de moderador"
|
msgstr "Eliminaciones de moderador"
|
||||||
|
|
||||||
@ -1758,7 +1744,7 @@ msgstr "Acci
|
|||||||
|
|
||||||
#: contrib/admin/templates/admin/object_history.html:26
|
#: contrib/admin/templates/admin/object_history.html:26
|
||||||
msgid "DATE_WITH_TIME_FULL"
|
msgid "DATE_WITH_TIME_FULL"
|
||||||
msgstr "FECHA_CON_TIEMP_COMPLETO"
|
msgstr "j M Y P"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/object_history.html:36
|
#: contrib/admin/templates/admin/object_history.html:36
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -2330,9 +2316,8 @@ msgid "Add user"
|
|||||||
msgstr "Añadir usuario"
|
msgstr "Añadir usuario"
|
||||||
|
|
||||||
#: contrib/admin/views/auth.py:57
|
#: contrib/admin/views/auth.py:57
|
||||||
#, fuzzy
|
|
||||||
msgid "Password changed successfully."
|
msgid "Password changed successfully."
|
||||||
msgstr "Cambio de clave exitoso"
|
msgstr "La clave se ha cambiado exitosamente."
|
||||||
|
|
||||||
#: contrib/admin/views/auth.py:64
|
#: contrib/admin/views/auth.py:64
|
||||||
#, python-format
|
#, python-format
|
||||||
|
Binary file not shown.
@ -21,7 +21,7 @@ msgstr ""
|
|||||||
#: contrib/admin/media/js/SelectFilter2.js:33
|
#: contrib/admin/media/js/SelectFilter2.js:33
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "Available %s"
|
msgid "Available %s"
|
||||||
msgstr ""
|
msgstr "Tillgänglig %s"
|
||||||
|
|
||||||
#: contrib/admin/media/js/SelectFilter2.js:41
|
#: contrib/admin/media/js/SelectFilter2.js:41
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@ -30,39 +30,39 @@ msgstr "Välj en tidpunkt"
|
|||||||
|
|
||||||
#: contrib/admin/media/js/SelectFilter2.js:46
|
#: contrib/admin/media/js/SelectFilter2.js:46
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr ""
|
msgstr "Lägg till"
|
||||||
|
|
||||||
#: contrib/admin/media/js/SelectFilter2.js:48
|
#: contrib/admin/media/js/SelectFilter2.js:48
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr ""
|
msgstr "Tag bort"
|
||||||
|
|
||||||
#: contrib/admin/media/js/SelectFilter2.js:53
|
#: contrib/admin/media/js/SelectFilter2.js:53
|
||||||
#, perl-format
|
#, perl-format
|
||||||
msgid "Chosen %s"
|
msgid "Chosen %s"
|
||||||
msgstr ""
|
msgstr "Valde %s"
|
||||||
|
|
||||||
#: contrib/admin/media/js/SelectFilter2.js:54
|
#: contrib/admin/media/js/SelectFilter2.js:54
|
||||||
msgid "Select your choice(s) and click "
|
msgid "Select your choice(s) and click "
|
||||||
msgstr ""
|
msgstr "Välj ditt/dina val och klicka "
|
||||||
|
|
||||||
#: contrib/admin/media/js/SelectFilter2.js:59
|
#: contrib/admin/media/js/SelectFilter2.js:59
|
||||||
msgid "Clear all"
|
msgid "Clear all"
|
||||||
msgstr ""
|
msgstr "Avmarkera alla"
|
||||||
|
|
||||||
#: contrib/admin/media/js/dateparse.js:26
|
#: contrib/admin/media/js/dateparse.js:26
|
||||||
#: contrib/admin/media/js/calendar.js:24
|
#: contrib/admin/media/js/calendar.js:24
|
||||||
msgid ""
|
msgid ""
|
||||||
"January February March April May June July August September October November "
|
"January February March April May June July August September October November "
|
||||||
"December"
|
"December"
|
||||||
msgstr ""
|
msgstr "Januari Februari Mars April Maj Juni Juli Augusti September Oktober November December"
|
||||||
|
|
||||||
#: contrib/admin/media/js/dateparse.js:27
|
#: contrib/admin/media/js/dateparse.js:27
|
||||||
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
|
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
|
||||||
msgstr ""
|
msgstr "Söndag Mondag Tisdag Onsdag Torsdag Fredag Lördag"
|
||||||
|
|
||||||
#: contrib/admin/media/js/calendar.js:25
|
#: contrib/admin/media/js/calendar.js:25
|
||||||
msgid "S M T W T F S"
|
msgid "S M T W T F S"
|
||||||
msgstr ""
|
msgstr "S M T O T F L"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80
|
||||||
@ -92,7 +92,7 @@ msgstr "Mitt på dagen"
|
|||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Ångra"
|
msgstr "Avbryt"
|
||||||
|
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111
|
||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162
|
||||||
|
@ -9,7 +9,7 @@ ADMINS = (
|
|||||||
|
|
||||||
MANAGERS = ADMINS
|
MANAGERS = ADMINS
|
||||||
|
|
||||||
DATABASE_ENGINE = '' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
|
DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
|
||||||
DATABASE_NAME = '' # Or path to database file if using sqlite3.
|
DATABASE_NAME = '' # Or path to database file if using sqlite3.
|
||||||
DATABASE_USER = '' # Not used with sqlite3.
|
DATABASE_USER = '' # Not used with sqlite3.
|
||||||
DATABASE_PASSWORD = '' # Not used with sqlite3.
|
DATABASE_PASSWORD = '' # Not used with sqlite3.
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
from django.conf.urls.defaults import *
|
|
||||||
|
|
||||||
urlpatterns = patterns('django.views',
|
|
||||||
(r'^$', 'registration.passwords.password_reset', {'is_admin_site' : True}),
|
|
||||||
(r'^done/$', 'registration.passwords.password_reset_done'),
|
|
||||||
)
|
|
@ -1,19 +0,0 @@
|
|||||||
from django.conf.urls.defaults import *
|
|
||||||
|
|
||||||
urlpatterns = patterns('',
|
|
||||||
(r'^login/$', 'django.contrib.auth.views.login'),
|
|
||||||
(r'^logout/$', 'django.contrib.auth.views.logout'),
|
|
||||||
(r'^login_another/$', 'django.contrib.auth.views.logout_then_login'),
|
|
||||||
|
|
||||||
(r'^register/$', 'ellington.registration.views.registration.signup'),
|
|
||||||
(r'^register/(?P<challenge_string>\w{32})/$', 'ellington.registration.views.registration.register_form'),
|
|
||||||
|
|
||||||
(r'^profile/$', 'ellington.registration.views.profile.profile'),
|
|
||||||
(r'^profile/welcome/$', 'ellington.registration.views.profile.profile_welcome'),
|
|
||||||
(r'^profile/edit/$', 'ellington.registration.views.profile.edit_profile'),
|
|
||||||
|
|
||||||
(r'^password_reset/$', 'django.contrib.auth.views.password_reset'),
|
|
||||||
(r'^password_reset/done/$', 'django.contrib.auth.views.password_reset_done'),
|
|
||||||
(r'^password_change/$', 'django.contrib.auth.views.password_change'),
|
|
||||||
(r'^password_change/done/$', 'django.contrib.auth.views.password_change_done'),
|
|
||||||
)
|
|
@ -667,7 +667,11 @@ def resolve_variable(path, context):
|
|||||||
except (TypeError, AttributeError):
|
except (TypeError, AttributeError):
|
||||||
try: # list-index lookup
|
try: # list-index lookup
|
||||||
current = current[int(bits[0])]
|
current = current[int(bits[0])]
|
||||||
except (IndexError, ValueError, KeyError):
|
except (IndexError, # list index out of range
|
||||||
|
ValueError, # invalid literal for int()
|
||||||
|
KeyError, # current is a dict without `int(bits[0])` key
|
||||||
|
TypeError, # unsubscriptable object
|
||||||
|
):
|
||||||
raise VariableDoesNotExist("Failed lookup for key [%s] in %r", (bits[0], current)) # missing attribute
|
raise VariableDoesNotExist("Failed lookup for key [%s] in %r", (bits[0], current)) # missing attribute
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
if getattr(e, 'silent_variable_failure', False):
|
if getattr(e, 'silent_variable_failure', False):
|
||||||
|
@ -17,6 +17,9 @@ class MergeDict(object):
|
|||||||
def __contains__(self, key):
|
def __contains__(self, key):
|
||||||
return self.has_key(key)
|
return self.has_key(key)
|
||||||
|
|
||||||
|
def __copy__(self):
|
||||||
|
return self.__class__(*self.dicts)
|
||||||
|
|
||||||
def get(self, key, default=None):
|
def get(self, key, default=None):
|
||||||
try:
|
try:
|
||||||
return self[key]
|
return self[key]
|
||||||
@ -43,6 +46,10 @@ class MergeDict(object):
|
|||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def copy(self):
|
||||||
|
""" returns a copy of this object"""
|
||||||
|
return self.__copy__()
|
||||||
|
|
||||||
class SortedDict(dict):
|
class SortedDict(dict):
|
||||||
"A dictionary that keeps its keys in the order in which they're inserted."
|
"A dictionary that keeps its keys in the order in which they're inserted."
|
||||||
def __init__(self, data=None):
|
def __init__(self, data=None):
|
||||||
|
@ -86,10 +86,10 @@ objects in the same way as any other `Django model`_::
|
|||||||
myuser.groups.add(group, group,...)
|
myuser.groups.add(group, group,...)
|
||||||
myuser.groups.remove(group, group,...)
|
myuser.groups.remove(group, group,...)
|
||||||
myuser.groups.clear()
|
myuser.groups.clear()
|
||||||
myuser.permissions = [permission_list]
|
myuser.user_permissions = [permission_list]
|
||||||
myuser.permissions.add(permission, permission, ...)
|
myuser.user_permissions.add(permission, permission, ...)
|
||||||
myuser.permissions.remove(permission, permission, ...]
|
myuser.user_permissions.remove(permission, permission, ...]
|
||||||
myuser.permissions.clear()
|
myuser.user_permissions.clear()
|
||||||
|
|
||||||
In addition to those automatic API methods, ``User`` objects have the following
|
In addition to those automatic API methods, ``User`` objects have the following
|
||||||
custom methods:
|
custom methods:
|
||||||
|
@ -1621,6 +1621,15 @@ For example, this deletes all ``Entry`` objects with a ``pub_date`` year of
|
|||||||
|
|
||||||
Entry.objects.filter(pub_date__year=2005).delete()
|
Entry.objects.filter(pub_date__year=2005).delete()
|
||||||
|
|
||||||
|
When Django deletes an object, it emulates the behavior of the SQL
|
||||||
|
constraint ``ON DELETE CASCADE`` -- in other words, any objects which
|
||||||
|
had foreign keys pointing at the object to be deleted will be deleted
|
||||||
|
along with it. For example::
|
||||||
|
|
||||||
|
b = Blog.objects.get(pk=1)
|
||||||
|
# This will delete the Blog and all of its Entry objects.
|
||||||
|
b.delete()
|
||||||
|
|
||||||
Note that ``delete()`` is the only ``QuerySet`` method that is not exposed on a
|
Note that ``delete()`` is the only ``QuerySet`` method that is not exposed on a
|
||||||
``Manager`` itself. This is a safety mechanism to prevent you from accidentally
|
``Manager`` itself. This is a safety mechanism to prevent you from accidentally
|
||||||
requesting ``Entry.objects.delete()``, and deleting *all* the entries. If you
|
requesting ``Entry.objects.delete()``, and deleting *all* the entries. If you
|
||||||
|
@ -206,6 +206,21 @@ for the polls app, we manually specify a template name for the results view:
|
|||||||
``template_name='polls/results.html'``. Otherwise, both views would use the same
|
``template_name='polls/results.html'``. Otherwise, both views would use the same
|
||||||
template. Note that we use ``dict()`` to return an altered dictionary in place.
|
template. Note that we use ``dict()`` to return an altered dictionary in place.
|
||||||
|
|
||||||
|
.. note:: ``all()`` is lazy
|
||||||
|
|
||||||
|
It might look a little frightening to see ``Poll.objects.all()`` being used
|
||||||
|
in a detail view which only needs one ``Poll`` object, but don't worry;
|
||||||
|
``Poll.objects.all()`` is actually a special object called a ``QuerySet``,
|
||||||
|
which is "lazy" and doesn't hit your database until it absolutely has to. By
|
||||||
|
the time the database query happens, the ``object_detail`` generic view will
|
||||||
|
have narrowed its scope down to a single object, so the eventual query will
|
||||||
|
only select one row from the database.
|
||||||
|
|
||||||
|
If you'd like to know more about how that works, The Django database API
|
||||||
|
documentation `explains the lazy nature of QuerySet objects`_.
|
||||||
|
|
||||||
|
.. _explains the lazy nature of QuerySet objects: ../db_api/#querysets-are-lazy
|
||||||
|
|
||||||
In previous parts of the tutorial, the templates have been provided with a context
|
In previous parts of the tutorial, the templates have been provided with a context
|
||||||
that contains the ``poll`` and ``latest_poll_list`` context variables. However,
|
that contains the ``poll`` and ``latest_poll_list`` context variables. However,
|
||||||
the generic views provide the variables ``object`` and ``object_list`` as context.
|
the generic views provide the variables ``object`` and ``object_list`` as context.
|
||||||
|
@ -390,6 +390,13 @@ to pass metadata and options to views.
|
|||||||
.. _generic views: ../generic_views/
|
.. _generic views: ../generic_views/
|
||||||
.. _syndication framework: ../syndication/
|
.. _syndication framework: ../syndication/
|
||||||
|
|
||||||
|
.. admonition:: Dealing with conflicts
|
||||||
|
|
||||||
|
It's possible to have a URL pattern which captures named keyword arguments,
|
||||||
|
and also passes arguments with the same names in its dictionary of extra
|
||||||
|
arguments. When this happens, the arguments in the dictionary will be used
|
||||||
|
instead of the arguments captured in the URL.
|
||||||
|
|
||||||
Passing extra options to ``include()``
|
Passing extra options to ``include()``
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
|
|
||||||
|
0
tests/regressiontests/datastructures/__init__.py
Normal file
0
tests/regressiontests/datastructures/__init__.py
Normal file
0
tests/regressiontests/datastructures/models.py
Normal file
0
tests/regressiontests/datastructures/models.py
Normal file
34
tests/regressiontests/datastructures/tests.py
Normal file
34
tests/regressiontests/datastructures/tests.py
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
"""
|
||||||
|
# Tests for stuff in django.utils.datastructures.
|
||||||
|
|
||||||
|
>>> from django.utils.datastructures import *
|
||||||
|
|
||||||
|
### MergeDict #################################################################
|
||||||
|
|
||||||
|
>>> d1 = {'chris':'cool','camri':'cute','cotton':'adorable','tulip':'snuggable', 'twoofme':'firstone'}
|
||||||
|
>>> d2 = {'chris2':'cool2','camri2':'cute2','cotton2':'adorable2','tulip2':'snuggable2'}
|
||||||
|
>>> d3 = {'chris3':'cool3','camri3':'cute3','cotton3':'adorable3','tulip3':'snuggable3'}
|
||||||
|
>>> d4 = {'twoofme':'secondone'}
|
||||||
|
>>> md = MergeDict( d1,d2,d3 )
|
||||||
|
>>> md['chris']
|
||||||
|
'cool'
|
||||||
|
>>> md['camri']
|
||||||
|
'cute'
|
||||||
|
>>> md['twoofme']
|
||||||
|
'firstone'
|
||||||
|
>>> md2 = md.copy()
|
||||||
|
>>> md2['chris']
|
||||||
|
'cool'
|
||||||
|
|
||||||
|
### MultiValueDict ##########################################################
|
||||||
|
|
||||||
|
>>> d = MultiValueDict({'name': ['Adrian', 'Simon'], 'position': ['Developer']})
|
||||||
|
>>> d['name']
|
||||||
|
'Simon'
|
||||||
|
>>> d.getlist('name')
|
||||||
|
['Adrian', 'Simon']
|
||||||
|
>>> d.get('lastname', 'nonexistent')
|
||||||
|
'nonexistent'
|
||||||
|
>>> d.setlist('lastname', ['Holovaty', 'Willison'])
|
||||||
|
|
||||||
|
"""
|
@ -127,6 +127,29 @@ class Templates(unittest.TestCase):
|
|||||||
# Fail silently when accessing a non-simple method
|
# Fail silently when accessing a non-simple method
|
||||||
'basic-syntax20': ("{{ var.method2 }}", {"var": SomeClass()}, ("","INVALID")),
|
'basic-syntax20': ("{{ var.method2 }}", {"var": SomeClass()}, ("","INVALID")),
|
||||||
|
|
||||||
|
# List-index syntax allows a template to access a certain item of a subscriptable object.
|
||||||
|
'list-index01': ("{{ var.1 }}", {"var": ["first item", "second item"]}, "second item"),
|
||||||
|
|
||||||
|
# Fail silently when the list index is out of range.
|
||||||
|
'list-index02': ("{{ var.5 }}", {"var": ["first item", "second item"]}, ("", "INVALID")),
|
||||||
|
|
||||||
|
# Fail silently when the variable is not a subscriptable object.
|
||||||
|
'list-index03': ("{{ var.1 }}", {"var": None}, ("", "INVALID")),
|
||||||
|
|
||||||
|
# Fail silently when variable is a dict without the specified key.
|
||||||
|
'list-index04': ("{{ var.1 }}", {"var": {}}, ("", "INVALID")),
|
||||||
|
|
||||||
|
# Dictionary lookup wins out when dict's key is a string.
|
||||||
|
'list-index05': ("{{ var.1 }}", {"var": {'1': "hello"}}, "hello"),
|
||||||
|
|
||||||
|
# But list-index lookup wins out when dict's key is an int, which
|
||||||
|
# behind the scenes is really a dictionary lookup (for a dict)
|
||||||
|
# after converting the key to an int.
|
||||||
|
'list-index06': ("{{ var.1 }}", {"var": {1: "hello"}}, "hello"),
|
||||||
|
|
||||||
|
# Dictionary lookup wins out when there is a string and int version of the key.
|
||||||
|
'list-index07': ("{{ var.1 }}", {"var": {'1': "hello", 1: "world"}}, "hello"),
|
||||||
|
|
||||||
# Basic filter usage
|
# Basic filter usage
|
||||||
'basic-syntax21': ("{{ var|upper }}", {"var": "Django is the greatest!"}, "DJANGO IS THE GREATEST!"),
|
'basic-syntax21': ("{{ var|upper }}", {"var": "Django is the greatest!"}, "DJANGO IS THE GREATEST!"),
|
||||||
|
|
||||||
@ -167,7 +190,7 @@ class Templates(unittest.TestCase):
|
|||||||
'basic-syntax33': (r'1{{ var.method3 }}2', {"var": SomeClass()}, ("12", "1INVALID2")),
|
'basic-syntax33': (r'1{{ var.method3 }}2', {"var": SomeClass()}, ("12", "1INVALID2")),
|
||||||
|
|
||||||
# In methods that raise an exception without a "silent_variable_attribute" set to True,
|
# In methods that raise an exception without a "silent_variable_attribute" set to True,
|
||||||
# the exception propogates
|
# the exception propagates
|
||||||
'basic-syntax34': (r'1{{ var.method4 }}2', {"var": SomeClass()}, SomeOtherException),
|
'basic-syntax34': (r'1{{ var.method4 }}2', {"var": SomeClass()}, SomeOtherException),
|
||||||
|
|
||||||
# Escaped backslash in argument
|
# Escaped backslash in argument
|
||||||
|
Loading…
x
Reference in New Issue
Block a user