mirror of https://github.com/django/django.git
Some small improvements and fixes to docs/authentication.txt, which still isn't finished
git-svn-id: http://code.djangoproject.com/svn/django/trunk@990 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
d412dbf46b
commit
411625a761
|
@ -53,10 +53,10 @@ Fields
|
||||||
Set this to ``False`` instead of deleting accounts.
|
Set this to ``False`` instead of deleting accounts.
|
||||||
* ``is_superuser`` -- Boolean. Designates whether this user has permission
|
* ``is_superuser`` -- Boolean. Designates whether this user has permission
|
||||||
to do anything (according to the permission system).
|
to do anything (according to the permission system).
|
||||||
* ``last_login`` -- A datetime of the user's last login. Is set to "now" by
|
* ``last_login`` -- A datetime of the user's last login. Is set to the
|
||||||
default.
|
current date/time by default.
|
||||||
* ``date_joined`` -- A datetime designating when the account was created.
|
* ``date_joined`` -- A datetime designating when the account was created.
|
||||||
Is set to "now" by default when the account is created.
|
Is set to the current date/time by default when the account is created.
|
||||||
|
|
||||||
Methods
|
Methods
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
@ -118,7 +118,7 @@ methods:
|
||||||
Module functions
|
Module functions
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The ``django.models.users`` module has the following helper functions:
|
The ``django.models.auth.users`` module has the following helper functions:
|
||||||
|
|
||||||
* ``create_user(username, email, password)`` -- Creates, saves and returns
|
* ``create_user(username, email, password)`` -- Creates, saves and returns
|
||||||
a ``User``. The ``username``, ``email`` and ``password`` are set as
|
a ``User``. The ``username``, ``email`` and ``password`` are set as
|
||||||
|
@ -208,12 +208,13 @@ The simple, raw way to limit access to pages is to check
|
||||||
``request.user.is_anonymous()`` and either redirect to a login page::
|
``request.user.is_anonymous()`` and either redirect to a login page::
|
||||||
|
|
||||||
from django.utils.httpwrappers import HttpResponseRedirect
|
from django.utils.httpwrappers import HttpResponseRedirect
|
||||||
|
|
||||||
def my_view(request):
|
def my_view(request):
|
||||||
if request.user.is_anonymous():
|
if request.user.is_anonymous():
|
||||||
return HttpResponseRedirect('/login/?next=%s' % request.path)
|
return HttpResponseRedirect('/login/?next=%s' % request.path)
|
||||||
# ...
|
# ...
|
||||||
|
|
||||||
...or displaying an error message::
|
...or display an error message::
|
||||||
|
|
||||||
def my_view(request):
|
def my_view(request):
|
||||||
if request.user.is_anonymous():
|
if request.user.is_anonymous():
|
||||||
|
@ -226,13 +227,15 @@ The login_required decorator
|
||||||
As a shortcut, you can use the convenient ``login_required`` decorator::
|
As a shortcut, you can use the convenient ``login_required`` decorator::
|
||||||
|
|
||||||
from django.views.decorators.auth import login_required
|
from django.views.decorators.auth import login_required
|
||||||
|
|
||||||
def my_view(request):
|
def my_view(request):
|
||||||
# ...
|
# ...
|
||||||
my_view = login_required(my_view)
|
my_view = login_required(my_view)
|
||||||
|
|
||||||
Here's the same, using Python 2.4's decorator syntax::
|
Here's the same thing, using Python 2.4's decorator syntax::
|
||||||
|
|
||||||
from django.views.decorators.auth import login_required
|
from django.views.decorators.auth import login_required
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def my_view(request):
|
def my_view(request):
|
||||||
# ...
|
# ...
|
||||||
|
@ -263,12 +266,15 @@ permission ``polls.can_vote``::
|
||||||
As a shortcut, you can use the convenient ``user_passes_test`` decorator::
|
As a shortcut, you can use the convenient ``user_passes_test`` decorator::
|
||||||
|
|
||||||
from django.views.decorators.auth import user_passes_test
|
from django.views.decorators.auth import user_passes_test
|
||||||
|
|
||||||
@user_passes_test(lambda u: u.has_perm('polls.can_vote'))
|
@user_passes_test(lambda u: u.has_perm('polls.can_vote'))
|
||||||
def my_view(request):
|
def my_view(request):
|
||||||
# ...
|
# ...
|
||||||
|
|
||||||
``user_passes_test`` takes a required argument: a callable that takes a
|
``user_passes_test`` takes a required argument: a callable that takes a
|
||||||
``User`` object and returns ``True`` if the user is allowed to view the page.
|
``User`` object and returns ``True`` if the user is allowed to view the page.
|
||||||
|
Note that ``user_passes_test`` does not automatically check that the ``User``
|
||||||
|
is not anonymous.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue