DjangoでリクエストをPUT,DELETE等の様々なメソッドにも対応させる

DjangoでPUT,DELETE等の様々なリクエストに対応させるには django-method-overrideのライブラリを使用するのが一番手っ取り早い。

1.インストール

pip install django-method-override

2.settings.pyの編集

MIDDLEWARE_CLASSES = (
    ...    
        'django.middleware.csrf.CsrfViewMiddleware',
            'method_override.middleware.MethodOverrideMiddleware',

)

INSTALLED_APPS = (
    ...
        'method_override',
        )

3.HTMLに埋め込む

{% load method_override %}
<form action="{% url 'users/new' %}" method="POST">
{% csrf_token %}
{% method_override 'PUT' %}
</form>

4.View側で対応する

if request.method == "PUT":
    data = request.PUT

Related Contents

Pickup Contents