Provide a workaround to use different method from GET or POST inside HTML forms
Project description
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.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
pyaml
to 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
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
Close
Hashes for django-http-method-1.1.1.linux-x86_64.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d10761449c8c0afd4bc9bc59c2d0da47500ceb961753728716092308f73209c4 |
|
MD5 | d9ba0aba0c493f97cc4d4e68f967b6d2 |
|
BLAKE2b-256 | 55a692fff2a63f9cde9bd265cffd33380eaeaad7cc91eaa3f1fd71280b9e77a7 |