Skip to main content

django-g

Django global context to get current request from anywhere in your application.

Many scenarios need the current request but Django don't have it accessible. They expect that your application implement a middleware to use the request, but it is burdensome and not reusable.

Other packages, like django-threadlocals do the same thing with threadlocals, but it doesn't work on the async world.

How to install

$ pip install django-g

How to use

Add django_g.middleware.RequestMiddleware to your settings MIDDLEWARE. It is a small middleware just to capture the current request and save to global context, ordering probably doesn't matter because any other middleware already have access to the request.

MIDDLEWARE = [
    "django_g.middleware.RequestMiddleware",
    ...
]
from django_g import get_current_request


def your_func():
    request = get_current_request()
    # Use the request here. Be careful and handle when `request=None`.

protip It is not a good idea to get the request everywhere, because you're coupling the framework specifics with your logic, so use this package only to get the request where you don't have a better way.

Metadata

Release files for django-g 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-g 0.0.2
File Size Uploaded
django-g-0.0.2.tar.gz 3.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-g 0.0.2
File Interpreter ABI Platform
django_g-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 7.3 kB

Release files / django-g-0.0.2.tar.gz

Download URL django-g-0.0.2.tar.gz
Size 3.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3eb6e33a95849e4159c211e792ae2801f909660737eca4551360ac2bc7a65366
BLAKE2b-256 checksum
How to use checksums
5b8bfb5f3d59f218198f679c81ed18fa6440cfb2b6faa313521b6604c1447f03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / django_g-0.0.2-py3-none-any.whl

Download URL django_g-0.0.2-py3-none-any.whl
Size 4.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c7c10f5cfcdb321c34f8b3e144759d6536c8eb16144d57b179b96191e5c94c0e
BLAKE2b-256 checksum
How to use checksums
0fca2d6742407598d098f1adbaa3e55e961a0c6f3f3c9efa3df1db77256befee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page