Skip to main content

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):

  1. cd my_project_name
  2. pip install -r requirements.txt
  3. Review/Update the application metadata in settings.py
  4. 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

  1. Create accounts on PyPi and Test PyPi
  2. 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
    
  3. Ask an existing developer to add you as a collaborator - test and/or prod
  4. python setup.py sdist bdist_wheel --universal
  5. twine upload --repository testpypi dist/*
  6. twine upload dist/*
  7. 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

This version

4.2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

psu_base-4.2.0-py3-none-any.whl (177.3 kB view details)

Uploaded Python 3

File details

Details for the file psu_base-4.2.0-py3-none-any.whl.

File metadata

  • Download URL: psu_base-4.2.0-py3-none-any.whl
  • Upload date:
  • Size: 177.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for psu_base-4.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 33c92c246739086a0f0a7946d6aafe131cb0aa72915d19e3593892f6b1b01f74
MD5 24758b053886ef188df539fda2e35b12
BLAKE2b-256 1d040f1a978c4321312daef63e9e020540bf1146477bbe8319a1f248b3124954

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page