2017-03-16 71 views
0

我想在加載頁面時獲取現有用戶的列表。從Angular腳本獲取信息時一切正常,但它將存儲在服務器端。我做了一個Django視圖:從AngularJS調用Django查看功能

def getUsers(request): 
response = {} 
response['user'] = { 
    'username': 'guy1', 
    'password': 'guy1', 
    'fName': 'John', 
    'lName': 'Smith', 
    'email': '[email protected]', 
    'role': 'Employee', 
    'theme': 'default' 
} 
return JsonResponse(response) 

目前,我只是通過我的用戶那裏,以後就會充滿從postgre數據庫的信息。我想我已經設置了正確的網址:

urlpatterns = [ 
    url(r'^$', views.index, name='index'), 
    url(r'^', views.dashboard, name='dashboard'), 
    url(r'getUsers/', views.getUsers), 
] 

最後,我調用視圖從角在頁面加載時:

$http.get("getUsers") 
    .then(function(output) { 
     $scope.testUser = output; 
     console.log($scope.testUser); 
    }); 

當我運行的一切,瀏覽器控制檯出現不正確的 output.

任何想法,我做了什麼錯?謝謝。

+0

我想這是一個不好的請求,看看完整的url是否包含正確的服務器(如http://localhost....etc) – Izuel

回答

0

我會在這裏做兩件事。首先,改變你的URL模式,看起來像這樣:

url(r'^getUsers/$', views.getUsers), 

其次,改變你的AngularJS代碼看起來像這樣:

$http.get("getUsers/") 
    .then(function(output) { 
    $scope.testUser = output; 
    console.log($scope.testUser); 
}); 

Django是敏感的「/」是(或者不是)在URL上。並且改變上面的URL模式使得它明確它應該在尋找什麼。在你原來的情況下,該模式可以匹配或getUsers/abcgetUsers/12345

+0

非常感謝,這似乎解決了它,我現在正在瀏覽控制檯中傳遞的數據。 – Tsuki