我使用django -swamp龙+ angularjs创建简单的django应用程序,实时显示网站请求。
所有Django逻辑都是可以的,但是当我尝试使它实时响应时,系统就会出现故障。我认为问题出在角度上,因为我以前从未使用过它。
因此,代码的姜戈-沼泽龙部分:
# routers.py
from swampdragon import route_handler
from swampdragon.route_handler import ModelRouter
from .serializers import HttpRequestSerializer
from .models import HttpRequest
class HttpRequestRouter(ModelRouter):
serializer_class = HttpRequestSerializer
model = HttpRequest
route_name = 'activity-route'
def get_object(self, **kwargs):
return self.model.objects.get(pk=kwargs['pk'])
def get_query_set(self, **kwargs):
return self.model.all()
route_handler.register(HttpRequestRouter)代码的Angular.js部分
// controllers.js
var ActivityControllers = angular.module('ActivityControllers', []);
ActivityControllers.controller('ActivityCtrl', ['$scope', '$dragon', function ($scope, $dragon) {
$scope.channel = 'httprequests';
$scope.datasource = [];
// Subscribe to the activity router
$dragon.onReady(function() {
$dragon.subscribe('activity-route', $scope.channel, {}).then(function(response) {
this.dataMapper = new DataMapper(response.data);
});
$dragon.getList('activity-route', {}).then(function(response) {
$scope.datasource = response.data
});
});
$dragon.onChannelMessage(function(channels, new_request) {
if (indexOf.call(channels, $scope.channel) > -1) {
$scope.$apply(function() {
$scope.datasource.unshift(new_request);
});
}
});
}]);最后,我的模板部分:
<div ng-controller="ActivityCtrl">
<ul ng-repeat="req in datasource">
<li>
<span class="request_date">{$ req.date $} ...</span>
</li>
</ul>
</div>当我在url/port (http://localhost:9999/)上运行server.py并打开浏览器时,我有以下错误(在浏览器中):
Traceback (most recent call last):
File "...lib/python3.4/site-packages/tornado/web.py", line 1323, in _execute
result = self.prepare()
File "...lib/python3.4/site-packages/tornado/web.py", line 2014, in prepare
raise HTTPError(self._status_code)
tornado.web.HTTPError: HTTP 404: Not Found以及控制台上的错误:
-------- SwampDragon ------
Running SwampDragon on 127.0.0.1:9999
DRAGON_URL: http://localhost:9999/
Version 0.4.2
Debug: True
Quit the server with ctrl+c
---------------------------
WARNING:tornado.access:404 GET / (127.0.0.1) 206.58ms当然,我的请求页面也不起作用。
PLease帮我找出错误!
发布于 2015-05-21 16:53:02
为了确保,您运行的是django服务器和swmap龙服务器,对吗?正如你们所做的那样:
https://stackoverflow.com/questions/30154393
复制相似问题