一台计算机中的Django服务器,其他计算机中的客户端

时间:2015-05-14 06:06:43

标签: django dajax

  1. 然后我从github下载了最新的django-dajaxice zip文件 解压缩它。
  2. 然后我输入django-dajaxice-master/examples文件夹,运行'python manage.py runserver 13.122.241.172:80',(这是我电脑的ip)。
  3. 服务器正常启动。在这台服务器计算机中,我可以访问http13.122.241.172 /并且页面正常显示。然后我点击“你好”按钮,我可以得到正确的答案。

    问题:

    在我的同事的计算机上,他的IP是13.122.242.16,他可以访问http13.122.241.172/,但是当他点击“你好”按钮时,没有回复!

    调试:

    然后我检查命令窗口,我看到当他点击按钮时,我的服务器永远不会收到“GET /dajaxice/simple.hello/?argv=undefined HTTP/1.1”请求!我对这个问题感到很困惑,并且已经为此工作了三天。有人可以帮帮我吗?

    注意:

    • Django版本为1.4.20
    • Django设置:DEBUG = True。

    我的同事可以访问http://www.dajaxproject.com/dajaxice/,如果他点击“从服务器获取消息!”他可以得到服务器响应。

    代码:

    这是dajaxice project

    中的相关代码

    index.html(模板)

    {% load dajaxice_templatetags %}
    <html>
    <head>
    {% dajaxice_js_import 'nocsrf' %}
    </head>
    <body>
        <button onclick="Dajaxice.simple.hello(function(d){alert(d.message);})">Hello</button>
        <button onclick="Dajaxice.simple.bye(function(d){alert(d.message);})">Bye</button>
        <button onclick="Dajaxice.more.complex.bye(function(d){alert(d.message);})">Complex Bye</button>
        <button onclick="Dajaxice.simple.lol(function(d){alert(d.message);})">LOL</button>
        <button onclick="Dajaxice.simple.get_args(function(d){alert(d.message);}, {'foo': 'var'})">GET args</button>
    </body>
    </html>
    

    ajax.py

    import json
    
    from dajaxice.decorators import dajaxice_register
    
    
    @dajaxice_register(method='GET')
    @dajaxice_register(method='POST', name='other_post')
    def hello(request):
        return json.dumps({'message': 'hello'})
    
    
    @dajaxice_register(method='GET')
    @dajaxice_register(method='POST', name="more.complex.bye")
    def bye(request):
        raise Exception("PUMMMM")
        return json.dumps({'message': 'bye'})
    
    
    @dajaxice_register
    def lol(request):
        return json.dumps({'message': 'lol'})
    
    
    @dajaxice_register(method='GET')
    def get_args(request, foo):
        return json.dumps({'message': 'hello get args %s' % foo})
    

    进度:

    • 感谢您对此主题的帮助。我是新手。 Stackoverflow真的很棒。
    • 现在我发现了问题的症结:在我的服务器计算机中我使用IE11,但在我同事的电脑中,他使用的是IE9。如果他更改为Chrome,则可以。但它仍然让我感到困惑,我应该如何处理只有IE9的其他人。

1 个答案:

答案 0 :(得分:0)

我要做的第一件事就是确保IE9关闭Compatibility View

另请注意django-dajaxice本人的作者doesn't recommend using the package

  

总之,不,我4年前创建了这个项目,作为一个很酷的工具   为了解决我当时遇到的一个具体问题。

     

这些天使用这个项目是一个坏主意。

     

也许我现在更务实,也许是我对django的看法   项目应该与这样的图书馆相结合,或者   也许这些天我真的很珍惜一个人的纯洁和简洁   香草django发展。

     

如果你想模仿这个项目的作用,你只需要一些   简单的视图和jQuery。

     

忘记添加更多不必要的复杂性。保持简单。

因此我会考虑你是否真的需要dajaxice,或者我可以用其他方式来做。