diff options
| author | Tim Graham <timograham@gmail.com> | 2012-11-22 09:07:21 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2012-11-22 09:07:21 -0500 |
| commit | 7b2d95eb3054e95d2fa4c36d8194cd74816118a7 (patch) | |
| tree | 4f68e67192c524a4ce7dafa30a26a57886da9866 | |
| parent | 3587991ba8d223fe9fe4d54a094b82dbc9c27bc2 (diff) | |
Clarified usage of as_view kwargs for setting arguments on class based views
Thanks Dave McLain for the patch.
| -rw-r--r-- | django/views/generic/base.py | 5 | ||||
| -rw-r--r-- | docs/ref/class-based-views/index.txt | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/django/views/generic/base.py b/django/views/generic/base.py index 23e18c54a0..d0045a2ef0 100644 --- a/django/views/generic/base.py +++ b/django/views/generic/base.py @@ -54,8 +54,9 @@ class View(object): "keyword argument to %s(). Don't do that." % (key, cls.__name__)) if not hasattr(cls, key): - raise TypeError("%s() received an invalid keyword %r" % ( - cls.__name__, key)) + raise TypeError("%s() received an invalid keyword %r. as_view " + "only accepts arguments that are already " + "attributes of the class." % (cls.__name__, key)) def view(request, *args, **kwargs): self = cls(**initkwargs) diff --git a/docs/ref/class-based-views/index.txt b/docs/ref/class-based-views/index.txt index c4b632604a..a027953416 100644 --- a/docs/ref/class-based-views/index.txt +++ b/docs/ref/class-based-views/index.txt @@ -37,10 +37,11 @@ A class-based view is deployed into a URL pattern using the is modified, the actions of one user visiting your view could have an effect on subsequent users visiting the same view. -Any argument passed into :meth:`~django.views.generic.base.View.as_view()` will +Arguments passed into :meth:`~django.views.generic.base.View.as_view()` will be assigned onto the instance that is used to service a request. Using the previous example, this means that every request on ``MyView`` is able to use -``self.size``. +``self.size``. Arguments must correspond to attributes that already exist on +the class (return ``True`` on a ``hasattr`` check). Base vs Generic views --------------------- |
