首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单的Django+ AngularJS实时应用程序

简单的Django+ AngularJS实时应用程序
EN

Stack Overflow用户
提问于 2015-05-10 17:24:52
回答 1查看 888关注 0票数 2

我使用django -swamp龙+ angularjs创建简单的django应用程序,实时显示网站请求。

所有Django逻辑都是可以的,但是当我尝试使它实时响应时,系统就会出现故障。我认为问题出在角度上,因为我以前从未使用过它。

因此,代码的姜戈-沼泽龙部分:

代码语言:javascript
复制
# 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部分

代码语言:javascript
复制
// 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);
            });
        }
    });

}]);

最后,我的模板部分:

代码语言:javascript
复制
<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并打开浏览器时,我有以下错误(在浏览器中):

代码语言:javascript
复制
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

以及控制台上的错误:

代码语言:javascript
复制
-------- 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帮我找出错误!

EN

回答 1

Stack Overflow用户

发布于 2015-05-21 16:53:02

为了确保,您运行的是django服务器和swmap龙服务器,对吗?正如你们所做的那样:

  • python server.py
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30154393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档