Basic features used in all PSU Django apps
Project description
PSU-Base
Reusable Django app specifically for PSU's custom-built web applications.
It encapsulates the common functionality that we would otherwise need to program into each application we build.
Features include:
- PSU Single Sign-On (SSO)
- Authentication and authorization features
- Feature toggles
- Template tags for our static content server
Quick Start
Dependencies
The following dependencies may be REQUIRED in your system:
libpq-dev
sudo apt install libpq-dev
Installation
pip install psu-base
Configuring Your App
-
Add PSU-Base and its two required apps to INSTALLED_APPS in
settings.py
:INSTALLED_APPS = [ ... 'django_cas_ng', 'crequest', 'psu_base', ]
-
Copy
docs/app_settings_template.py
to your app, name itapp_settings.py
and update the values as needed. -
Copy
docs/local_settings_template.py
to your app, name itlocal_settings.py
and update the values as needed. -
Import your app and local settings files at the end of your settings.py file:
settings.py
# Get app-specific settings
from .app_settings import *
# Override settings with values for the local environment
from .local_settings import *
-
Run
python manage.py migrate
to create the PSU-Base models in your development database -
Configure your app's top-level
urls.py
to include PSU URLs# my_app/urls.py from django.conf import settings from django.conf.urls import url from django.urls import path, include ... urlpatterns = [ ... # PSU and CAS views are defined in psu_base app url(settings.URL_CONTEXT+'/psu/', include(('psu_base.urls', 'psu_base'), namespace='psu')), url(settings.URL_CONTEXT+'/accounts/', include(('psu_base.urls', 'psu_base'), namespace='cas')), ]
Usage
Usage of the psu-base app is documented in Confluence.
For Developers
The version number must be updated for every PyPi release.
The version number is in psu_base/__init__.py
Document Changes
Record every change in docs/CHANGELOG.txt Document new features or significant changes to existing features in Confluence.
Publishing to PyPi
- Create accounts on PyPi and Test PyPi
- Create
~/.pypirc
[distutils] index-servers= pypi testpypi [testpypi] repository: https://test.pypi.org/legacy/ username: mikegostomski password: pa$$w0rd [pypi] username: mikegostomski password: pa$$w0rd
- Ask an existing developer to add you as a collaborator - test and/or prod
python setup.py sdist bdist_wheel --universal
twine upload --repository testpypi dist/*
twine upload dist/*
- Tag the release in Git. Don't forget to push the tag! Example:
git tag 0.1.2
git push origin 0.1.2
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file psu_base-0.2.6-py3-none-any.whl
.
File metadata
- Download URL: psu_base-0.2.6-py3-none-any.whl
- Upload date:
- Size: 93.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
93e53bf0ad3b04615737ff7640ad45ac328414735837a8ae6d51370fcb9c16e4
|
|
MD5 |
9ade227f4b7c39822ea5a794efa47446
|
|
BLAKE2b-256 |
6776bfd524ebdf5ddb9659e70b678bdc39ca3725218a3e91847bc86fd8ac619b
|