1👍
Have you activated middleware (Internationalization: in URL patterns)?
# settings.py
MIDDLEWARE = [
...
'django.middleware.locale.LocaleMiddleware'
...
]
0👍
I never got to the bottom of this, but I have developed a workaround that allows the forms to function.
-
Edit
_get_response(self, request)
indjango.core.handlers.base
. Changeresolver_match = resolver.resolve(request.path_info)
toresolver_match = resolver.resolve(request.path)
. -
Add this middleware (adjust to your exact needs):
class ImageField404Middleware: def __init__(self, get_response): self.get_response = get_response def __call__(self, request): response = self.get_response(request) if (request.method == 'POST' and request.user.is_superuser and response.status_code == 302 and request.get_full_path().startswith('/pathtoadmin/')): post_messages = get_messages(request) for message in post_messages: if ('was added successfully' in message.message or 'was changed successfully' in message.message and message.level == message_levels.SUCCESS): messages.success(request, message.message) redirect_url = request.get_full_path() if '_addanother' in request.POST: redirect_url = re.sub(r'[^/]*/[^/]*/$', 'add/', redirect_url) elif '_save' in request.POST: redirect_url = re.sub(r'[^/]*/[^/]*/(\?.*)?$', '', redirect_url) if '_changelist_filters' in request.GET: preserved_filters = parse.parse_qsl(request.GET['_changelist_filters']) redirect_url += '?' + parse.urlencode(preserved_filters) elif '_continue' in request.POST: redirect_url_search = re.search(r'((?<=href=)[^>]*)', message.message) if redirect_url_search: redirect_url = redirect_url_search.group(0) redirect_url = re.sub(r'[\\"]*', '', redirect_url).replace('/pathtoadmin/pathtoadmin/', '/pathtoadmin/') return HttpResponseRedirect(redirect_url) return response
Not ideal by any means, but works for me at the moment.
I believe these problems may, in part at least, be caused by ModSecurity Apache. Some problems I had went away after the hosting provider later reconfigured this.
You can read more details here: https://medium.com/@mnydigital/how-to-resolve-django-admin-404-post-error-966ce0dcd39d
- Django Queryset of related objects, after prefiltering on original model
- Django form returns is_valid() = False and no errors
- Are there any purposes for the management folder in Django other than commands?
- Attaching pdf's to emails in django
Source:stackexchange.com