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
Start a PSU Base Enabled Project
django-admin.py startproject \
--template=*some-path-to*/psu-base-template.zip \
--extension=py,md,env \
my_project_name
Configuring Your App
After starting a new project from the custom template (above):
cd my_project_name
pip install -r requirements.txt
- Review/Update the application metadata in settings.py
- Run migrations:
python manage.py migrate
If you have the PSU Secret Key file, your site was configured to access Finti's test server. This will need to be overwritten in local_settings.py eventually. If you do not have the PSU Secret Key file, you'll need to set these prior to running your app.
Usage
Usage of the psu-base app is documented in Confluence.
As of version 4.2, css files and other project-specific static assets are automatically
hosted on the AWS server along side the application. Projects created prior to 4.2 will need
to re-copy their .ebextension
and .platform
directories from the latest project template to
take advantage of this feature.
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.