- About Pinax
- Important Links
- Overview
- Documentation
- Change Log
- Contribute
- Code of Conduct
- Connect with Pinax
- License
Pinax is an open-source platform built on the Django Web Framework. It is an ecosystem of reusable Django apps, themes, and starter project templates. This collection can be found at http://pinaxproject.com.
Where you can find what you need:
- Releases: published to PyPI or tagged in app repos in the Pinax GitHub organization
- Global documentation: Pinax documentation website
- App specific documentation: app repos in the Pinax GitHub organization
- Support information: SUPPORT.md file in the Pinax default community health file repo
- Contributing information: CONTRIBUTING.md file in the Pinax default community health file repo
- Current and historical release docs: Pinax Wiki
pinax-teams
is an app for Django sites that supports open, by invitation, and by application teams.
- django-appconf
- django-reversion
- django-user-accounts
- pillow
- pinax-invitations
- six
- python-slugify
See setup.py
for specific required versions of these packages.
Django / Python | 3.6 | 3.7 | 3.8 |
---|---|---|---|
2.2 | * | * | * |
3.0 | * | * | * |
To install pinax-teams:
$ pip install pinax-teams
Add pinax.teams
and other required apps to your INSTALLED_APPS
setting:
INSTALLED_APPS = [
# other apps
"account",
"pinax.invitations",
"pinax.teams",
"reversion",
]
Optionally add TeamMiddleware
to your MIDDLEWARE
setting:
MIDDLEWARE = [
# other middleware
"pinax.teams.middleware.TeamMiddleware",
]
Add pinax.teams.urls
to your project urlpatterns:
urlpatterns = [
# other urls
url(r"^account/", include("account.urls")),
url(r"^teams/", include("pinax.teams.urls", namespace="pinax_teams")),
]
Return iterable of open-membership Team
s which request.user
may join.
If user is "staff" they may join any membership-type team.
Iterable excludes teams user is already associated with.
{% available_teams as available_teams %}
- Drop Django 1.11, 2.0, and 2.1, and Python 2,7, 3.4, and 3.5 support
- Add Django 2.2 and 3.0, and Python 3.6, 3.7, and 3.8 support
- Update packaging configs
- Direct users to community resources
- Switch to using python-slugify from unicode-slugify
- Replace render_to_string
context_instance
kwarg. - Add view tests
- Update pinax-invitations version requirement
- Fix namespacing
Revert on_delete=CASCADE
for null=True
model fields
- Standardize template location to "pinax/teams/"
- Add template list to documentation
- Drop Django v1.8, v.1.9, v1.10 support
- Add Django 2.0 support and compatibility testing
- Standardize documentation layout
- Convert CI and coverage to CircleCi and CodeCov
- Add PyPi-compatible long description
- Use "PINAX_TEAMS_" rather than "TEAMS_" prefix for settings
- Update installation requirements
- BI: Move
WSGITeamMiddleware
to it's own module to resolve issues with the custom app label. This BI change was made in 0.12.2 asWSGITeamMiddleware
had not been documented or demonstrated.
- Update
context_urls.py
to reference the correct views
- Add
SimpleTeam
andSimpleMembership
models PR #46
- Add initiating user to membership signals PR #42
- Refactor TeamManageView and TeamInviteView as CBVs PR #43
- Remove assumptions around auth.User model PR #40
- Fix invitee to call to_user_email method PR #41
- Fix Membership verbose names in model meta PR #45
- Ensure team exists in template context PR #44
Backwards Incompatible Changes
TEAM_NAME_BLACKLIST
has been renamed toPINAX_TEAMS_NAME_BLACKLIST
for consistency with other application settings
Contributing information can be found in the Pinax community health file repo.
In order to foster a kind, inclusive, and harassment-free community, the Pinax Project has a Code of Conduct. We ask you to treat everyone as a smart human programmer that shares an interest in Python, Django, and Pinax with you.
For updates and news regarding the Pinax Project, please follow us on Twitter @pinaxproject and check out our Pinax Project blog.
Copyright (c) 2012-present James Tauber and contributors under the MIT license.