A library that allows IP restrictions for views/endpoints in Django REST framework.
Project description
DRF IP Restrictions
A library that allows IP restrictions for views/endpoints in Django REST framework.
Installation
- Install using pip:
pip install drf-ip-restrictions
- Add the library to your INSTALLED_APPS list.
INSTALLED_APPS = [
...
'drf_ip_restrictions',
...
]
- Override the allowed IP addresses your
settings.py
according to your needs:
# within settings.py
DRF_IP_RESTRICTION_SETTINGS = {
"ALLOWED_IP_LIST": ["127.0.0.1"],
}
Usage
Add the AllowedIpList class to any views / endpoints that should only provide access for the configured IP addresses, e.g. to restrict a view set:
# within views.py
class MyViewSet(viewsets.ModelViewSet):
permission_classes = (AllowedIpList,)
...
or to restrict only a single action:
# within views.py
class MyViewSet(viewsets.ModelViewSet):
...
@action(
detail=False,
methods=["get"],
http_method_names=["get"],
authentication_classes=[],
permission_classes=[AllowedIpList], # <-- this is the important part for IP restrictions to work
url_path=r"my-method",
)
def my_method(self, request, *args, **kwargs):
# do stuff and return rest_framework.response.Response in the end
Django Compatibility Matrix
If your project uses an older verison of Django or Django Rest Framework, you can choose an older version of this project.
This Project | Python Version | Django Version | Django Rest Framework |
---|---|---|---|
1.0.* | 3.7, 3.8, 3.9, 3.10 | 3.2, 4.0 | 3.12, 3.13 |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file drf-ip-restrictions-1.1.1.tar.gz
.
File metadata
- Download URL: drf-ip-restrictions-1.1.1.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44e8c3a0d7874ee283fde3c5e06b73614e784b40ff57b9a75b5c2415824c2e7c |
|
MD5 | 069eca9c5b22713109e6aa8e97b12b17 |
|
BLAKE2b-256 | 4d1c6e5d9a04acf51b36f287836b8e88dc69febf6251b319441eaeae96682e96 |
File details
Details for the file drf_ip_restrictions-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: drf_ip_restrictions-1.1.1-py3-none-any.whl
- Upload date:
- Size: 4.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 842700c9deb33aede18ff5432c0e27508a9f9732a71ff11bf284c55e867bf1f2 |
|
MD5 | 043e0b38145be5c1f356e44043c5fa90 |
|
BLAKE2b-256 | d42b1787c6ec180b4484bbc240f6d5627ca5cba11576d67e390c9c2c2f0c996b |