diff --git a/django/contrib/admin/media/css/global.css b/django/contrib/admin/media/css/global.css index 16c582d578..d50601bde7 100644 --- a/django/contrib/admin/media/css/global.css +++ b/django/contrib/admin/media/css/global.css @@ -1,4 +1,4 @@ -body { margin:0; padding:0; font-size:12px; font-family:"Lucida Grande","Bitstream Vera Sans",Verdana,Arial,sans-serif; color:#333; background:#fff; } +body { margin:0; padding:0; font-size:12px; font-family:"Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif; color:#333; background:#fff; } /* LINKS */ a:link, a:visited { color: #5b80b2; text-decoration:none; } diff --git a/django/contrib/admin/templates/admin_doc/model_detail.html b/django/contrib/admin/templates/admin_doc/model_detail.html index 44fc43e704..70133e26dd 100644 --- a/django/contrib/admin/templates/admin_doc/model_detail.html +++ b/django/contrib/admin/templates/admin_doc/model_detail.html @@ -35,7 +35,7 @@ {{ field.name }} {{ field.data_type }} - {% if field.verbose %}{{ field.verbose|escape }}{% endif %}{% if field.help_text %} - {{ field.help_text|escape }}{% endif %} + {% if field.verbose %}{{ field.verbose }}{% endif %}{% if field.help_text %} - {{ field.help_text }}{% endif %} {% endfor %} diff --git a/django/core/validators.py b/django/core/validators.py index 81bea23e36..8f40ceb51a 100644 --- a/django/core/validators.py +++ b/django/core/validators.py @@ -68,7 +68,7 @@ def isAlphaNumericURL(field_data, all_data): def isSlug(field_data, all_data): if not slug_re.search(field_data): - raise ValidationError, "This value must contain only letters, numbers, underscores or hyphens." + raise ValidationError, gettext("This value must contain only letters, numbers, underscores or hyphens.") def isLowerCase(field_data, all_data): if field_data.lower() != field_data: diff --git a/django/views/generic/date_based.py b/django/views/generic/date_based.py index 860199c22e..d13c0293be 100644 --- a/django/views/generic/date_based.py +++ b/django/views/generic/date_based.py @@ -1,6 +1,7 @@ from django.template import loader, RequestContext from django.core.exceptions import ObjectDoesNotExist from django.core.xheaders import populate_xheaders +from django.db.models.fields import DateTimeField from django.http import Http404, HttpResponse import datetime, time @@ -235,9 +236,10 @@ def archive_day(request, year, month, day, queryset, date_field, model = queryset.model now = datetime.datetime.now() - lookup_kwargs = { - '%s__range' % date_field: (datetime.datetime.combine(date, datetime.time.min), datetime.datetime.combine(date, datetime.time.max)), - } + if isinstance(model._meta.get_field(date_field), DateTimeField): + lookup_kwargs = {'%s__range' % date_field: (datetime.datetime.combine(date, datetime.time.min), datetime.datetime.combine(date, datetime.time.max))} + else: + lookup_kwargs = {date_field: date} # Only bother to check current date if the date isn't in the past and future objects aren't requested. if date >= now.date() and not allow_future: @@ -304,9 +306,10 @@ def object_detail(request, year, month, day, queryset, date_field, model = queryset.model now = datetime.datetime.now() - lookup_kwargs = { - '%s__range' % date_field: (datetime.datetime.combine(date, datetime.time.min), datetime.datetime.combine(date, datetime.time.max)), - } + if isinstance(model._meta.get_field(date_field), DateTimeField): + lookup_kwargs = {'%s__range' % date_field: (datetime.datetime.combine(date, datetime.time.min), datetime.datetime.combine(date, datetime.time.max))} + else: + lookup_kwargs = {date_field: date} # Only bother to check current date if the date isn't in the past and future objects aren't requested. if date >= now.date() and not allow_future: diff --git a/docs/settings.txt b/docs/settings.txt index 67e0498e1a..d9df111155 100644 --- a/docs/settings.txt +++ b/docs/settings.txt @@ -473,25 +473,36 @@ LANGUAGES Default: A tuple of all available languages. Currently, this is:: LANGUAGES = ( + ('ar', _('Arabic')), ('bn', _('Bengali')), ('cs', _('Czech')), ('cy', _('Welsh')), ('da', _('Danish')), ('de', _('German')), + ('el', _('Greek')), ('en', _('English')), ('es', _('Spanish')), + ('es_AR', _('Argentinean Spanish')), ('fr', _('French')), ('gl', _('Galician')), + ('hu', _('Hungarian')), + ('he', _('Hebrew')), ('is', _('Icelandic')), ('it', _('Italian')), + ('ja', _('Japanese')), + ('nl', _('Dutch')), ('no', _('Norwegian')), ('pt-br', _('Brazilian')), ('ro', _('Romanian')), ('ru', _('Russian')), ('sk', _('Slovak')), + ('sl', _('Slovenian')), ('sr', _('Serbian')), ('sv', _('Swedish')), + ('ta', _('Tamil')), + ('uk', _('Ukrainian')), ('zh-cn', _('Simplified Chinese')), + ('zh-tw', _('Traditional Chinese')), ) A tuple of two-tuples in the format (language code, language name). This diff --git a/docs/templates.txt b/docs/templates.txt index 49d30018fe..c9e76d6c94 100644 --- a/docs/templates.txt +++ b/docs/templates.txt @@ -141,6 +141,7 @@ It's easiest to understand template inheritance by starting with an example:: {% block content %}{% endblock %} + This template, which we'll call ``base.html``, defines a simple HTML skeleton document that you might use for a simple two-column page. It's the job of @@ -196,6 +197,7 @@ like::

This is my second entry.

+ Note that since the child template didn't define the ``sidebar`` block, the value from the parent template is used instead. Content within a ``{% block %}`` @@ -363,7 +365,7 @@ extends Signal that this template extends a parent template. -This tag can be used in two ways: +This tag can be used in two ways: * ``{% extends "base.html" %}`` (with quotes) uses the literal value ``"base.html"`` as the name of the parent template to extend. @@ -961,13 +963,13 @@ any string. pluralize ~~~~~~~~~ -Returns a plural suffix if the value is not 1. By default, this suffix is ``'s'``. +Returns a plural suffix if the value is not 1. By default, this suffix is ``'s'``. Example:: You have {{ num_messages }} message{{ num_messages|pluralize }}. -For words that require a suffix other than ``'s'``, you can provide an alternate +For words that require a suffix other than ``'s'``, you can provide an alternate suffix as a parameter to the filter. Example::