{"id":23580,"library":"django-method-override","title":"django-method-override","description":"Django middleware that allows overriding the HTTP method via a form field or header (e.g., X-HTTP-Method-Override). Current version 1.0.4. Light maintenance, no longer actively developed.","status":"maintenance","version":"1.0.4","language":"python","source_language":"en","source_url":"https://github.com/marirs/django-method-override","tags":["django","middleware","http-method-override","rest"],"install":[{"cmd":"pip install django-method-override","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core dependency; middleware integrates with Django request/response.","package":"Django","optional":false}],"imports":[{"wrong":"from django_method_override.middleware import MethodOverrideMiddleware","symbol":"MethodOverrideMiddleware","correct":"from method_override.middleware import MethodOverrideMiddleware"}],"quickstart":{"code":"# settings.py\nMIDDLEWARE = [\n    ...\n    'django_method_override.middleware.MethodOverrideMiddleware',\n    ...\n]\n\n# In a form, add a hidden field:\n# <input type=\"hidden\" name=\"_method\" value=\"DELETE\">\n# Or send header: X-HTTP-Method-Override: DELETE","lang":"python","description":"Add middleware to MIDDLEWARE list in settings.py. Then submit a POST with _method field or X-HTTP-Method-Override header to override the HTTP method."},"warnings":[{"fix":"Ensure your override only happens on POST submissions (standard HTML form behavior).","message":"The middleware only overrides methods on POST requests. Overriding on GET is not supported.","severity":"gotcha","affected_versions":"all"},{"fix":"Be consistent: use either header or form field, not both, or check source for ordering.","message":"If multiple method override values are provided (both header and param), the param takes precedence. This can be surprising if you expect header priority.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'1.0.4':27 'activ':32 'allow':8 'current':25 'develop':33 'django':2,5,34 'django-method-overrid':1 'e.g':19 'field':16 'form':15 'header':18 'http':11,22,37 'http-method-overrid':36 'light':28 'longer':31 'mainten':29 'method':3,12,23,38 'middlewar':6,35 'overrid':4,9,24,39 'rest':40 'version':26 'via':13 'x':21 'x-http-method-overrid':20","created_at":"2026-05-01T08:08:31.720987+00:00","updated_at":"2026-05-01T08:08:31.720987+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\n  File \"/tmp/tmp6kjvd6_u/venv/lib/python3.12/site-packages/method_override/middleware.py\", line 1, in <module>\n    from method_override import settings\n  File \"/tmp/tmp6kjvd6_u/venv/lib/python3.12/site-packages/method_override"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"1.0.4","cli_name":"","cli_version":null,"type":"library","homepage":"https://gitlab.com/localmed/django-method-override","github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/django-method-override/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["web-framework"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}