2012-12-31 39 views
1

所以这可能是一个愚蠢的问题,但我一直在为此工作了大约4个小时。我是用Python自学的(意思是我可以通过但不是很好),我正在试图将我的脚本扩展到Django。然而,我需要一些客户端脚本,所以我正在尝试使用jQuery来做一些非常非常基本的Javascript工作,因为有很多演示。jQuery发布到Django

但是,没有任何工作。我可以找到像这样的教程:http://webcloud.se/log/AJAX-in-Django-with-jQuery/ 它看起来非常有用,但它们缺少信息(在这种情况下,所有在Javascript端给出的是没有触发器的函数代码)。当我尝试将jQuery代码嵌入到Django模板中时,它不起作用,但我无法分辨这是因为我在代码中编写的东西存在错误,或者因为我给出的东西是给我的问题,因为某些地方设置是错误的。

基本上,我希望看到一个非常简单的例子,它将数据从Javascript发送到Django(例如,发送当前时间戳)并单击,然后Django完全从双方发送。 (我已经看了很多其他的StackOverflow答案,这些类型的问题似乎都是更大的例子,我担心我会被一些与基本数据传输问题无关的切线所困惑。)我想要查看包含所有标签和所有人跳过的内容的全部Django模板,URL文件和视图文件。那么也许我可以弄清楚什么事情足以开始做些什么。

在此先感谢。

更新 实际上,问题可能会更一般。当我拿这个代码:

<!doctype html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>Test</title> 
    </head> 
    <body> 
    <a href="http://jquery.com/">jQuery</a> 
    <script type="text/javascript" src="/usr/lib/pymodules/python2.6/django/contrib/admin/media/js/jquery.js"></script>` 
<script> 
$(document).ready(function(){ 
    $("a").click(function(event){ 
    alert("As you can see, the link no longer took you to jquery.com"); 
    event.preventDefault(); 
    }); 
}); 
    </script> 
    </body> 
</html> 

并保存为一个html文件它运行良好。当我使用相同的代码并将其设置为Django模板时(除了将其放入正确的目录并确保模板加载器已设置为加载模板),它突然不起作用。我已经在Firefox和Chrome中对它进行了测试。

有什么想法?

+0

您需要先学习如何构建Web服务。请参阅http://stackoverflow.com/questions/415192/best-way-to-create-a-simple-python-web-service – JDB

回答

0

这是我怎么样使用Ajax,jQuery和Django的。

views.py:

def ajax(request): 
    if request.is_ajax(): 
    // do whatever 

urls.py:

url(r'^ajax-url/$', 'views.ajax', name='ajax_url'), 

的jquery:

$(document).ready(function() { 
$('div#ajax-div').click(function(){ 
    $.ajax({ 
    type: "POST", 
    url:"/ajax-url/", 
    success: function(data){alert('Success!');} 
    error: function(){ alert("Error");} 
}); 
} 

template.html:

<div id='ajax-div'> 
     <a href='{% url ajax-url %}'>Click here for ajax</a> 
</div> 

请注意,根据您的django版本,{%url%}标记有时需要在url模式名称周围加引号。