django-http-method
Provide a workaround to use different method than GET or POST inside HTML forms in django templates. Works only with Class Based View.
Installation
From source code:
python setup.py install
From pip:
pip install django-http-method
Usage
Add django_http_method to your settings.INSTALLED_APPS
INSTALLED_APPS = (
[...],
django_http_method,
[...],
)
Add the mixin to a CBV
from django.views.generic import View
from django_http_method import HttpMethodMixin
class TestView(HttpMethodMixin, View):
def get(self, request):
pass
def delete(self, request):
pass
def put(self, request):
pass
[...]
In your template, load http_method and use {% http_[method] %} in your forms:
{% load http_method %}
<form action="/" method="post">
{% csrf_token %}
{% http_put %}
[...]
<button type="submit">Send a PUT request</button>
</form>
<form action="/" method="post">
{% csrf_token %}
{% http_patch %}
[...]
<button type="submit">Send a PATCH request</button>
</form>
The corresponding method of your View will now be called. For instance, if {% http_put %} was used, then TestView.put() will be called and any request parameter will be in request.PUT.
Changelog
1.2.1
- Renamed template directory to
django_http_method.
1.2.0
- Dropped Django 1.X support.
- Now supports Django 3.2.
1.1.1
- Now use Github action for testing and deployment
1.1.0
- Dropped python 3.4 support
- Now support django 3.0
1.0.2
- Added
pyamlto setup requirement.
1.0.1
- Now use
yaml.safe_load()instead ofyaml.load() - Added python 3.7 and django 2.1 to test matrix
1.0.0
- Initial release for python3.4+ and django1.8, 1.10, 1.11 and 2.0+
0.4.0
- Will now search for parameters in body for methods PUT and PATCH
- Method will default to request.method if '_method' parameter was not found
0.3.2
- Added end slash '/' at the end of HTML input in templatetags
0.3.0
- Removing '_method' from request parameters
Release files for django-http-method 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-http-method-1.2.1.tar.gz | 7.4 kB | Details |
Release files / django-http-method-1.2.1.tar.gz
| Download URL | django-http-method-1.2.1.tar.gz |
|---|---|
| Size | 7.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ebbe23f7cae08a33dde516f9e0861b83c5966bf6598b0c12c79b1fc7a6fcae49
|
|
BLAKE2b-256 checksum How to use checksums |
c2732c80a2a121eb0d2762ae8de663dbb004e37ab64712bdda4d8ea9eb207076
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
|