Skip to main content

dj3base contains some small tools for Django.

Project description

dj3base

English | 简体中文

dj3base contains some small tools for Django.

1. Introduction

  • admin: Use OrderedAdminSite to customize the order of apps and models.
  • views: Use PostJsonView to handle POST-JSON-style requests.
  • utils: Some utility functions.

2. Usage

Install

pip install dj3base

Examples

  • OrderedAdminSite
from django.contrib.auth.models import User, Group
from django.contrib.auth.admin import UserAdmin, GroupAdmin
from django.contrib.auth.apps import AppConfig
from dj3base.admin.ordered_admin_site import OrderedAdminSite


class MyAdminSite(OrderedAdminSite):
    ordered_apps = {
        AppConfig: {
            "index": 1,
            "models": {
                Group: {"index": 1},
                User: {"index": 2},
            }
        }
    }


my_admin_site = OrderedAdminSite(name='my_admin')
my_admin_site.register(User, UserAdmin)
my_admin_site.register(Group, GroupAdmin)

# in urls.py
from django.urls import path

urlpatterns = [
    path('admin/', my_admin_site.urls),
]
  • PostJsonView
from dj3base.views import PostJsonView
from a3json_struct import struct


class RequestStruct(struct.JsonStruct):
    message: str = struct.CharField(min_length=1, max_length=10)

    
class EchoView(PostJsonView):
    request_struct_cls = RequestStruct

    def handle_post(self, request_struct: RequestStruct, custom_params: dict) -> dict:
        return {"message": f"hello {request_struct.message}"}

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

dj3base-0.3.0.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

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

dj3base-0.3.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file dj3base-0.3.0.tar.gz.

File metadata

  • Download URL: dj3base-0.3.0.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for dj3base-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1927754470aea609a8c653acf9e81a4922fa731901174a87fa3467ca368b49a9
MD5 33693ceeee075b12079cd563443b863e
BLAKE2b-256 4a175114e8d62ff8cbc0cc9549d87ab4f94a93a898278c7a1951076716cb8525

See more details on using hashes here.

File details

Details for the file dj3base-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: dj3base-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for dj3base-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 23bc0c87e5ff977b75df72c704914395e4db40825da3f37301d8521f8aed8e98
MD5 8a0d86e016222559df224a71cbe0b66f
BLAKE2b-256 813b3e5314ff2a254cc13964122fdb1c098bc2a0da82fe2c0e8bc1491e947551

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