2017-02-17 120 views
0

我創建了一個與Django 1.8和djangorestframework休息api,並使用extjs 6.2創建客戶端,我收到這個錯誤,當我發送一個ajax請求到服務器 「WSGIRequest」對象有沒有屬性「query_params」我的看法是recieving一個WSGIRequest對象,而不是請求 的對象,讓我困擾的是,我現在收到這個錯誤產生的任何視圖時,所有其他(以前創建)work fine,this is my MIDDLEWARE_CLASSESDjango restframework獲取WSGIRequest而不是rest_framework.request.Request

MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.common.CommonMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'django.middleware.clickjacking.XFrameOptionsMiddleware', 
'django.middleware.security.SecurityMiddleware', 
'corsheaders.middleware.CorsMiddleware',) 

這裏是django視圖和extjs a JAX要求

Django的視圖

api_view(["GET"]) 
def testView(request): 
    print(request.__class__) 
    req = json.loads(request.query_params['array'])# here it gives the error 
    lolo = {"response":"data"} 
    return JsonResponse(data, safe=False) 

ExtJS的Ajax請求

var data = 'insert':{idlineapresupuesto_id:1, idusuario_id:1, nombre:"aaaaaa"} 
Ext.Ajax.request({ 
    url :"http://127.0.0.1:8000/editarConcGastosView/?format=json", 
    method: 'GET', 
    dataType: 'json', 
    params: {array: Ext.JSON.encode(data)}, 
    success : function(response){ 
    var jsonResp = Ext.util.JSON.decode(response.responseText);//Guarda en jsonResp la respuesta de la peticion 

回答

0

您沒有使用正確裝飾:你需要一個@

@api_view(["GET"]) 
def testView(request): 
+0

非常感謝,就是這樣!我錯過了那個細節 – ghostzero

相關問題