2016-04-23 4 views
0

Я борюсь с этим за последние 2 дняПолучить данные из запроса POST REST API Django

Если я использую запрос GET все нормально, но если я использую запрос POST я получаю Отсутствует значение для ключей

Я использую POSTMAN для запуска запроса POST, я добавил комментарий, где я получаю None в случае запроса POST. Может ли кто-нибудь дать мне исправить это.

Я использую Django1.9

Ниже приведен код

from django.shortcuts import render 
from django.http.response import Http404, HttpResponse 
from django.contrib.auth import authenticate,login,logout 
from django.contrib.auth.models import User 
from ironman.models import * 
import json 
from django.template import RequestContext 
from dashboard.models import PromoCluster,Beacon 
from datetime import datetime 
from django.contrib.gis.measure import D 
from django.contrib.gis.geos import * 
from django.contrib.gis.geos.factory import fromstr 
from django.views.decorators.csrf import csrf_exempt 
from django.db import IntegrityError 
from django.contrib.auth import logout 

# Create your views here 

@csrf_exempt 
def signup(request): 
    if request.method != 'POST': 
     raise Http404 
    email = request.POST.get('email') 
    print " email is %s," % email # this is returning None. 
    password = request.POST.get('password') 
    print " password is %s," % password # This is also returning None 
    name = request.POST.get('name') 
    os = request.POST.get('os') 
    device_id = request.POST.get('device_id') 
    version = request.POST.get('version') 
    device = request.POST.get('device') 
    emailSecond = email; 
    print " email is " , emailSecond 
    try: 
     user = User.objects.create_user(username=emailSecond,email=email,password=password) 
     app_user_detail = AppUserDetail.objects.get(user=user) 
     app_user_detail.device_id = device_id 
     app_user_detail.os = os 
     app_user_detail.version = version 
     app_user_detail.device = device 
     app_user_detail.save() 
     return HttpResponse(json.dumps({"status": 200}), content_type='application/json') 
    except IntegrityError: 
     return HttpResponse(json.dumps({"status":201,"message":"user already exists , please try different user name "}), content_type='application/json') 

enter image description here

Urls. ру

urlpatterns = [ 
    url(r'^$', TemplateView.as_view(template_name='landing_page_new.html'), name='home'),   
    url(r'^admin/', admin.site.urls), 
    url(r'^login/', home, name='home'), 
    url(r'^v1/', include(xyz_urls)), 
] 

xyzurls

from django.conf.urls import url,include 
from django.contrib.auth.urls import urlpatterns 
from ironman.views import * 


urlpatterns = [ 
       url(r'^login/$', login), 
       url(r'^signup/$', signup), 

       ] 
+0

Вам нужно будет предоставить некоторую информацию о том, что вы публикуете у почтальона. –

+0

Хорошо, спасибо, что указал, позвольте мне выслать запрос – Naga

+0

Введите код для. –

ответ

0

Ok, здесь речь идет почтальона.

Вы действительно хотите получить запрос. Удалить как адрес электронной почты и пароль, нажав на «х»

Далее, перейдите к Body -> FormData -> Введите Params здесь

Это будет работать.

Только примечание, запрос POST не будет иметь параметров в Url ever.

+0

email = request.POST ['email'] throws multidicterror – Naga

+0

try email = request.POST.get ('email'), но у вас есть знак доллара в файле url.py? –

+0

да я также разместил файл urls, пожалуйста, посмотрите – Naga

Смежные вопросы