{"id":23452347,"url":"https://github.com/brack3t/django-brackets","last_synced_at":"2025-06-23T16:31:39.781Z","repository":{"id":181501023,"uuid":"648897496","full_name":"brack3t/django-brackets","owner":"brack3t","description":"Small mixins for Django's generic class-based views.","archived":false,"fork":false,"pushed_at":"2024-04-17T21:32:41.000Z","size":817,"stargazers_count":17,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-09T10:22:02.293Z","etag":null,"topics":["cbv","cbvs","django","django-braces","python","view"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brack3t.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-06-03T06:06:09.000Z","updated_at":"2025-03-25T13:25:12.000Z","dependencies_parsed_at":"2024-01-19T01:36:42.596Z","dependency_job_id":"756c823e-415f-4662-8fa5-8f3bdb53322d","html_url":"https://github.com/brack3t/django-brackets","commit_stats":null,"previous_names":["brack3t/django-brackets"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brack3t%2Fdjango-brackets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brack3t%2Fdjango-brackets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brack3t%2Fdjango-brackets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brack3t%2Fdjango-brackets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brack3t","download_url":"https://codeload.github.com/brack3t/django-brackets/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248788404,"owners_count":21161723,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cbv","cbvs","django","django-braces","python","view"],"created_at":"2024-12-24T01:15:05.268Z","updated_at":"2025-04-13T21:36:07.083Z","avatar_url":"https://github.com/brack3t.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# django-brackets\n\n[Official Documentation](https://django-brackets.readthedocs.io)\n\n`django-brackets` is a small collection of mixins for your class-based\nviews' needs. Heavily based on [`django-braces`], `brackets` aims to be\na simpler API and lighter tool set than `braces` was.\n\n`django-brackets` is developed against and for still-supported versions\nof Django and the latest (or near enough) version of Python. It also\noffers mixins for `django-rest-framework` which should work with the\nlatest release of that package.\n\nAs always, [contributions](docs/contributors.md) are welcome.\n\n## Available mixins\n(in alphabetical order)\n\n### Django class-based views\n\n* `AllVerbsMixin` - View answers any HTTP verb with a single method.\n* `AnonymousRequiredMixin` - Authenticated users are rejected.\n* `CacheControlMixin` - Control how the view is cached\n* `CSRFExemptMixin` - View does not require CSRF tokens.\n* `FormWithUserMixin` - Automatically provides the requesting user to the form.\n* `GroupRequiredMixin` - Requesting user must be part of a group.\n* `HeaderMixin` - Statically set headers for a view.\n* `LoginRequiredMixin` - Non-authenticated users are rejected.\n* `MultipleFormsMixin` - View handles multiple forms at once. Taken from [`django-shapeshifter`]\n* `NeverCacheMixin` - Mark a view as being uncached.\n* `OrderableListMixin` - Allow queryset ordering via query string arguments.\n* `PassesTestMixin` - Requests must pass a test before they are dispatched.\n* `PassOrRedirectMixin` - Failing requests are redirected to another view.\n* `PermissionRequiredMixin` - Requesting user must have specific permissions.\n* `PrefetchRelatedMixin` - Add `prefetch_related` clauses into the view's queryset.\n* `RecentLoginRequiredMixin` - Users must have logged in recently.\n* `RedirectMixin` - Easily redirect requests.\n* `RedirectToLoginMixin` - Redirect requests to a login page.\n* `SelectRelatedMixin` - Add `select_related` clauses into the view's queryset.\n* `SSLRequiredMixin` - Requests must be secure or redirected.\n* `StaffUserRequiredMixin` - Requesting user must be a staff member.\n* `StaticContextMixin` - Provide a static context to a view.\n* `SuperuserRequiredMixin` - Requesting user must be a superuser.\n\n### Django REST Framework\n\n* `MultipleSerializersMixin` - View/Viewset can have multiple serializers.\n\n### Django forms\n\n* `UserFormMixin` - Expects a `\"user\"` keyword argument, which will become `self.user`.\n\n[`django-braces`]: https://github.com/brack3t/django-braces\n[`django-shapeshifter`]: https://github.com/kennethlove/django-shapeshifter\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrack3t%2Fdjango-brackets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrack3t%2Fdjango-brackets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrack3t%2Fdjango-brackets/lists"}