Skip to content
This repository has been archived by the owner on Jan 19, 2022. It is now read-only.

Base Django application for Ministry of Justice

License

Notifications You must be signed in to change notification settings

ministryofjustice/django-gov

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEPRECATED

This repository is now deprecated in favour of using components in a more modular fashion.

  • django-govuk-template – adds GOV.UK templates, CSS, JS and other components from GDS’s packages. It does not offer pre-built styles (which would require this package to be constantly updated), but allows projects to determine their own workflow
  • django-govuk-forms – allows Django forms to be output with the correct HTML to be styled by GOV.UK CSS
  • the packages listed below can be used in your Django project in the usual manner if needed

Base Django App for MoJ

This can be used as a base to build MoJ Django applications. It includes some useful Django packages along with the Gov.uk template. It also includes flake8 code style test.

Includes

Django

django-cors-headers

django-extended-choices

django-filter

django-moj-irat

django-rest-swagger

djangorestframework

flake8

openpyxl

PyYAML

requests

Dependencies

  • Python 3.5 (can be installed using brew install python3)

Installation

Install via pypi

pip install django-gov

Features

govuk_template Django template and static directory are included in the package. You can extend the GovUK Template directly

{% extends 'govuk_template/base.html' %}

You can also download the latest govuk_template taball and extract the contentents to a directory of you choice

./manage.py update_gov_template -d /path/to/directory/to/unpack/

This will add the templates and static directories from the latest release of govuk_template to the directory passed as -d

You can include the default settings for all the included apps above by including the default settings in your app settings.py file

from django_gov.settings import *

You can include the urls for the healthcheck endpoints

url(r'^', include('django_gov.urls'))

Testing

If you include the whole default settings, this will add flake8 code style tests to the directory you run your apps.

You can add a setup.cfg file containing your flake8 settings to the base directory of your app.

[flake8]
exclude = .git/,env/,venv/,node_modules/, manage.py
max-complexity = 10
max-line-length = 120

API Docs

django-rest-swagger is also included. The template has been modified to use the govuk_template as a base.

see https://github.com/marcgibbons/django-rest-swagger for instructions on how to set up Swagger