(protected_view)
return wrapper
A simple decorator that requires a user to be logged in. If they are not
    logged in the request is examined for a 'authorization' header.

    If the header is present it is tested for basic authentication and
    the user is logged in with the provided credentials.

    If the header is not present a http 401 is sent back to the
    requestor to provide credentials.

    The purpose of this is that in several django projects I have needed
    several specific views that need to support basic authentication, yet the
    web site as a whole used django's provided authentication.

    The uses for this are for urls that are access programmatically such as
    by rss feed readers, yet the view requires a user to be logged in. Many rss
    readers support supplying the authentication credentials via http basic
    auth (and they do NOT support a redirect to a form where they post a
    username/password.)

    XXX: Fix usage descriptions, ideally provide an example as doctest.
A simple decorator that requires a user to be logged in. If they are not
    logged in the request is examined for a 'authorization' header.
A simple decorator that requires a user to be logged in . If they are not logged in the request is examined for a authorization header .
def require_valid_user(protected_view):
    """
    A simple decorator that requires a user to be logged in. If they are not
    logged in the request is examined for a 'authorization' header.

    If the header is present it is tested for basic authentication and
    the user is logged in with the provided credentials.

    If the header is not present a http 401 is sent back to the
    requestor to provide credentials.

    The purpose of this is that in several django projects I have needed
    several specific views that need to support basic authentication, yet the
    web site as a whole used django's provided authentication.

    The uses for this are for urls that are access programmatically such as
    by rss feed readers, yet the view requires a user to be logged in. Many rss
    readers support supplying the authentication credentials via http basic
    auth (and they do NOT support a redirect to a form where they post a
    username/password.)

    XXX: Fix usage descriptions, ideally provide an example as doctest.
    """

    @wraps(protected_view)
    def wrapper(request, *args, **kwargs):
        def check_valid_user(user):
            return user.is_authenticated

        return view_or_basicauth(
            protected_view, request, check_valid_user, "", *args, **kwargs
        )

    return wrapper
def require_valid_user ( protected_view ) : @ wraps ( protected_view ) def wrapper ( request , * args , * * kwargs ) : def check_valid_user ( user ) : return user . is_authenticated return view_or_basicauth ( protected_view , request , check_valid_user , "" , * args , * * kwargs ) return wrapper