Merge branch 'master' of github.com:django/django

This commit is contained in:
Jannis Leidel 2012-07-08 12:57:04 +02:00
commit effc2cad95
8 changed files with 16 additions and 35 deletions

View File

@ -41,7 +41,8 @@
text-align: left; text-align: left;
} }
.selector .selector-filter label { .selector .selector-filter label,
.inline-group .aligned .selector .selector-filter label {
width: 16px; width: 16px;
padding: 2px; padding: 2px;
} }

View File

@ -1,3 +1,5 @@
from __future__ import unicode_literals
from django import forms from django import forms
from django.forms.util import flatatt from django.forms.util import flatatt
from django.template import loader from django.template import loader

View File

@ -129,7 +129,7 @@ default options such as :djadminopt:`--verbosity` and :djadminopt:`--traceback`.
class Command(BaseCommand): class Command(BaseCommand):
... ...
self.can_import_settings = True can_import_settings = True
def handle(self, *args, **options): def handle(self, *args, **options):

View File

@ -838,17 +838,6 @@ your ``.profile`` to be able to run the package programs from the command-line::
__ http://www.kyngchaos.com/software/frameworks __ http://www.kyngchaos.com/software/frameworks
__ http://www.kyngchaos.com/software/postgres __ http://www.kyngchaos.com/software/postgres
.. note::
Use of these binaries requires Django 1.0.3 and above. If you are
using a previous version of Django (like 1.0.2), then you will have
to add the following in your settings:
.. code-block:: python
GEOS_LIBRARY_PATH='/Library/Frameworks/GEOS.framework/GEOS'
GDAL_LIBRARY_PATH='/Library/Frameworks/GDAL.framework/GDAL'
.. _psycopg2_kyngchaos: .. _psycopg2_kyngchaos:
psycopg2 psycopg2

View File

@ -888,7 +888,8 @@ through the template engine: the files whose extensions match the
with the ``--name`` option. The :class:`template context with the ``--name`` option. The :class:`template context
<django.template.Context>` used is: <django.template.Context>` used is:
- Any option passed to the startapp command - Any option passed to the startapp command (among the command's supported
options)
- ``app_name`` -- the app name as passed to the command - ``app_name`` -- the app name as passed to the command
- ``app_directory`` -- the full path of the newly created app - ``app_directory`` -- the full path of the newly created app

View File

@ -591,7 +591,11 @@ For each field, we describe the default widget used if you don't specify
* Error message keys: ``required``, ``invalid``, ``missing``, ``empty``, * Error message keys: ``required``, ``invalid``, ``missing``, ``empty``,
``invalid_image`` ``invalid_image``
Using an ImageField requires that the `Python Imaging Library`_ is installed. Using an ``ImageField`` requires that the `Python Imaging Library`_ (PIL)
is installed and supports the image formats you use. If you encounter a
``corrupt image`` error when you upload an image, it usually means PIL
doesn't understand its format. To fix this, install the appropriate
library and reinstall PIL.
When you use an ``ImageField`` on a form, you must also remember to When you use an ``ImageField`` on a form, you must also remember to
:ref:`bind the file data to the form <binding-uploaded-files>`. :ref:`bind the file data to the form <binding-uploaded-files>`.

View File

@ -1768,22 +1768,6 @@ This queryset will be evaluated as subselect statement::
SELECT ... WHERE blog.id IN (SELECT id FROM ... WHERE NAME LIKE '%Cheddar%') SELECT ... WHERE blog.id IN (SELECT id FROM ... WHERE NAME LIKE '%Cheddar%')
The above code fragment could also be written as follows::
inner_q = Blog.objects.filter(name__contains='Cheddar').values('pk').query
entries = Entry.objects.filter(blog__in=inner_q)
.. warning::
This ``query`` attribute should be considered an opaque internal attribute.
It's fine to use it like above, but its API may change between Django
versions.
This second form is a bit less readable and unnatural to write, since it
accesses the internal ``query`` attribute and requires a ``ValuesQuerySet``.
If your code doesn't require compatibility with Django 1.0, use the first
form, passing in a queryset directly.
If you pass in a ``ValuesQuerySet`` or ``ValuesListQuerySet`` (the result of If you pass in a ``ValuesQuerySet`` or ``ValuesListQuerySet`` (the result of
calling ``values()`` or ``values_list()`` on a queryset) as the value to an calling ``values()`` or ``values_list()`` on a queryset) as the value to an
``__in`` lookup, you need to ensure you are only extracting one field in the ``__in`` lookup, you need to ensure you are only extracting one field in the

View File

@ -157,7 +157,7 @@ might look like the following::
That's really all there is to it. All the cool features of generic views come That's really all there is to it. All the cool features of generic views come
from changing the attributes set on the generic view. The from changing the attributes set on the generic view. The
:doc:`generic views reference</ref/class-based-views/index>` documents all the :doc:`generic views reference</ref/class-based-views/index>` documents all the
generic views and their options in detail; the rest of this document will generic views and their options in detail; the rest of this document will
consider some of the common ways you might customize and extend generic views. consider some of the common ways you might customize and extend generic views.
@ -220,7 +220,7 @@ more::
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
# Call the base implementation first to get a context # Call the base implementation first to get a context
context = super(PublisherDetailView, self).get_context_data(**kwargs) context = super(PublisherDetail, self).get_context_data(**kwargs)
# Add in a QuerySet of all the books # Add in a QuerySet of all the books
context['book_list'] = Book.objects.all() context['book_list'] = Book.objects.all()
return context return context
@ -284,7 +284,7 @@ technique::
from django.views.generic import ListView from django.views.generic import ListView
from books.models import Book from books.models import Book
class AcmeBookListView(ListView): class AcmeBookList(ListView):
context_object_name = 'book_list' context_object_name = 'book_list'
queryset = Book.objects.filter(publisher__name='Acme Publishing') queryset = Book.objects.filter(publisher__name='Acme Publishing')
@ -361,7 +361,7 @@ use it in the template::
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
# Call the base implementation first to get a context # Call the base implementation first to get a context
context = super(PublisherBookListView, self).get_context_data(**kwargs) context = super(PublisherBookList, self).get_context_data(**kwargs)
# Add in the publisher # Add in the publisher
context['publisher'] = self.publisher context['publisher'] = self.publisher
return context return context