Почтовые данные, которые я отправляю, записываются как пустые, если я использую промежуточное программное обеспечение, если я удаляю промежуточное программное обеспечение из файла settings.py, он возвращает данные сообщения. Что я делаю не так.django middleware making post request blank
Вот правильный результат, когда я удалить MiddleWare
Это средний код изделия: отступа может быть неправильно здесь
class CheckAuthorization(object):
def process_request(self, request):
getKey = request.POST.get('authKey')
token = request.POST.get('token')
full_path = request.get_full_path()
if getKey is not None and getKey != '' and full_path != "https://stackoverflow.com/users/splash/":
try:
auth = TblAutherization.objects.get(secret_key = request.POST.get('authKey'))
except TblAutherization.DoesNotExist:
response = JsonResponse({'Status':'Error','Response code': 107,'Message':full_path})
return HttpResponse(response, content_type='application/json')
else:
return None
if token is not None and token != '' and 'settoken' in request.session and full_path != "https://stackoverflow.com/users/splash/":
try:
auth = TblLoginAuth.objects.get(token = request.POST.get('token'))
except TblLoginAuth.DoesNotExist:
response = JsonResponse({'Status':'Error','Response code': 107,'Message':'Invalid Request'})
return HttpResponse(response, content_type='application/json')
else:
return None
views.py
def splash(request):
if request.method == 'POST':
try:
appId = request.POST.get('appId')
except:
return Response({'Status':appId})
gcmToken = request.POST.get('gcmToken')
deviceType = request.POST.get('deviceType')
userId = request.POST.get('userId')
loginStatus = request.POST.get('loginStatus')
appType=request.POST.get('appType')
return Response({'appId':appId,'gcmToken':gcmToken,'deviceType':deviceType})
else:
return Response({'appId':appId,'gcmToken':gcmToken,'deviceType':deviceType})
это даже не собирается в исключением случаев, когда я использовал попытку кроме
«process_request» кажется правильным. На скриншоте ответ json имел ключ, но значение равно null. То есть логика вошла в место, где вы составили этот «json response». Возможно, вы должны проверить логику обработки представления '/ users/splash /'. Вы можете распечатать ответ до его возвращения. Кстати, у вас есть «process_response» в этом промежуточном программном обеспечении? –
Я печатаю ответ в начале после прочтения параметров сообщения. что я узнал, если я использую метод request.POST.get в средстве, он делает мой запрос пустым, и если он не использует его в средстве, он позволяет мои параметры сообщений как есть. Это действительно странно, я застрял в этом и не получаю никаких отводов. –
Это странно. 'Request.POST' является экземпляром' MultiValueDict', это расширенный 'python dict'. Метод 'get' не очищает ключ и значение. Возможно, вы можете опубликовать обработку кода просмотра '/ users/splash /', и я могу взглянуть, если что-то не так. –