) def _permission_protected_view(request): "A simple view that is permission protected." t = Template( "This is a permission protected test. " "Username is {{ user.username }}. " "Permissions are {{ user.get_all_permissions }}.", name="Permissions Template", ) c = Context({"user": request.user}) return HttpResponse(t.render(c)) permission_protected_view = permission_required("modeltests.test_perm")(_permission_protected_view) permission_protected_view_exception = permission_required("modeltests.test_perm", raise_exception=True)( _permission_protected_view ) class _ViewManager(object): @method_decorator(login_required) def login_protected_view(self, request): t = Template( "This is a login protected test using a method. " "Username is {{ user.username }}.", name="Login Method Template", ) c = Context({"user": request.user}) return HttpResponse(t.render(c))
condition(lambda r: None, lambda r: None), # djangocg.views.decorators.vary vary_on_headers('Accept-language'), vary_on_cookie, # djangocg.views.decorators.cache cache_page(60*15), cache_control(private=True), never_cache, # djangocg.contrib.auth.decorators # Apply user_passes_test twice to check #9474 user_passes_test(lambda u:True), login_required, permission_required('change_world'), # djangocg.contrib.admin.views.decorators staff_member_required, # djangocg.utils.functional lambda f: memoize(f, {}, 1), allow_lazy, lazy, ) fully_decorated = full_decorator(fully_decorated) class DecoratorsTest(TestCase): def test_attributes(self):