如何从django模板中的Jquery脚本调用python函数

时间:2011-09-30 10:53:08

标签: jquery python django django-templates django-1.3

我是django和jquery的新手,我是searching for a 'hello world' sample for jquery使用django1.3,当用户按下按钮或加载页面时,hello world作为字符串/ json从服务器返回到客户端。

注意:我使用的是django1.3和python 2.7。这是一个非常基本的问题。

我在`显示字符串'中成功了“这是JQuery的Hello World”,没有任何视图函数(仅使用jquery)。但是我不知道如何使用jquery函数中的视图函数 如果有人有想法,请帮助我。谢谢你提前。模板 我尝试使用以下代码段。

urls.py

(r'^hellofromserver/$',views.test),



def test(request):
    if request.method == 'GET':
        json = simplejson.dumps('hello world!')
        return HttpResponse(json, mimetype = 'application/json')

jqueyhelloserver.html:

<html>
<head>
<title>jQuery Hello World</title> 
<script type="text/javascript" src="{{STATIC_URL}}js/jquery-1.2.6.min.js"></script> 
</head> 
<body>
 .....

<script type="text/javascript">


 # how can I get'hello world' from test function(What is the sytax  )

    </script>     
<div id="msgid">
</div> 
</body>
</html>

如何从jquery调用函数'test'和'hellofromserver'?(来自模板)。

2 个答案:

答案 0 :(得分:0)

......你遇到的问题是什么?您的Javascript控制台中的任何信息?也许你没有设置你的django应用程序来使用CSRF protection

答案 1 :(得分:0)

最后我从服务器得到了'你好'!

urls.py:
from django.views.generic.simple import direct_to_template

(r'^hello/$',direct_to_template, {'template': 'jqueryserver.html'}),
(r'^jqueryserver/$',views.jqueryserver),

views.py:

#other imports
from django.views.decorators.csrf import csrf_exempt
from django.core.context_processors import csrf
from django.views.decorators.csrf import csrf_protect

def jqueryserver(request):
    print "in jqueryserver"
    response_string="hello"
    if request.method == 'GET':
        if request.is_ajax()== True:
            return HttpResponse(response_string,mimetype='text/plain')

jqueryserver.html

<html>
<head>
    <title>jQuery Hello World</title> 
    <script type="text/javascript" src="{{STATIC_URL}}js/jquery.js"></script>
<script>


$.ajax({
    type: "GET",
    url: "/jqueryserver/",
   success: function(data){
         alert(data);         
     }
});

</script>   
</head> 
<body>
<form method ="GET" >
<input type= "submit" id = "save" value ="Save" />
</form>
<div id= "test"></div>
</body>
</html>