Skip to main content

Generic reusable bits for Django projects

Project description

djinntoux

Generic reusable bits for Django projects

Disclaimer

This package is only intended for my own personal use, install at your own risk

Rebuild

Assumes twine is installed and an API token is stored in a .pypirc file:

rm -rfv dist/ && python -m build && twine upload --verbose dist/*

Installation

pip install djinntoux

Usage

dproj

settings_reuse

In your own project settings, use like so:

from djinntoux.dproj.settings_reuse import *  # noqa

...

INSTALLED_APPS = BASE_APPS + []

This reusable settings module expects DJANGO_SECRET_KEY to be set in your environment. For example, if you are just running your project locally, you could use an .envrc file for your development environment ...

...
export 'DJANGO_SECRET_KEY'='django-insecure-321-do-not-use-this!!!'
...

... and then use a systemd unit file for a mock production environment ...

...
[Service]
Environment='DJANGO_SECRET_KEY'='django-insecure-321-do-not-use-this!!!'
...

urls_reuse

In your project root URLconf, use like so:

urlpatterns = [
    path('', include('djinntoux.dproj.urls_reuse')),
    ...
]

Abstract Models

As an example in a models.py file:

from djinntoux.abstract import EditLink, Timestamps, UUIDpk7

...

class Account(Timestamps, EditLink):

EditLink

Set ADMIN_PATH in project settings (do not add a leading slash), e.g. to keep the Django default path without using an environment variable:

ADMIN_PATH = 'admin/'

Then in templates you can use like so:

<a target="_blank" href="{{ obj.get_edit_path }}">Edit</a>

Custom Users App

In project settings add djinntoux.users to INSTALLED_APPS and set AUTH_USER_MODEL = 'zy_users.User'

The main app files are mostly copied verbatim from upstream, tweaked to replace the stock first_name and last_name conventions from upstream with slightly more international options, lightly inspired by the Cookiecutter Django project.

Renames

In project settings make sure INSTALLED_APPS reflects something akin to this:

    'djinntoux.renames.AuthRenamedConfig',
    # 'django.contrib.auth',

    # https://docs.djangoproject.com/en/dev/ref/contrib/sites/
    # 'django.contrib.sites',
    'djinntoux.renames.SitesRenamedConfig',

Scraping

from djinntoux.scraping import get_host_and_title

Then use like so:

    def save(self, *args, **kwargs):
        if not self.link_title:
            self.link_title = get_host_and_title(self)[1]
        super(Link, self).save(*args, **kwargs)

Project details


Download files

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

Source Distribution

djinntoux-0.0.4.4.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

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

djinntoux-0.0.4.4-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file djinntoux-0.0.4.4.tar.gz.

File metadata

  • Download URL: djinntoux-0.0.4.4.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for djinntoux-0.0.4.4.tar.gz
Algorithm Hash digest
SHA256 a12b2a22daa1f820d227c13e626632bc4327b06f5da162070ade1d32f32b021b
MD5 3302e6c7aa6e2071bd0bc0db75217b5f
BLAKE2b-256 5bcd9d9886a60ff81feb15e2241797070e9a41a75d8d7347b101b6a37d159279

See more details on using hashes here.

File details

Details for the file djinntoux-0.0.4.4-py3-none-any.whl.

File metadata

  • Download URL: djinntoux-0.0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for djinntoux-0.0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f12245a6b168dc1a71d6410267bc1e6ad87c905e8318653f85afc3fb73c6391d
MD5 628576fd6fde0cd2ddc0b8495706cf84
BLAKE2b-256 d1e6ab770b577c7524df6395f9acb31be14c4f4a5b4e0ac4566c3f03ffdfa3c6

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