1

所以这可能是一个愚蠢的问题,但我已经研究了大约 4 个小时。我在 Python 中自学(这意味着我还过得去,但不是很好),我正在尝试将我的脚本扩展到 Django。但是,我需要一些客户端脚本,所以我尝试使用 jQuery 做一些非常非常基本的 Javascript 东西,因为有很多这样的演示。

但是,没有任何效果。我可以找到这样的教程: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 中测试过它。

有什么想法吗?

4

2 回答 2

0

这就是我喜欢使用 ajax、jquery 和 django 的方式。

视图.py:

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

网址.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");}
});
}

模板.html:

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

请注意,{% url %} 标记有时需要在 url 模式的名称周围加上引号,具体取决于您的 django 版本。

于 2012-12-31T23:15:26.573 回答
0

AJAX 调试起来真的很痛苦。

我在此之前发布了一个帖子,其中应该包含获得工作示例所需的部分。

https://stackoverflow.com/a/12905016/1406860

于 2012-12-31T22:47:04.233 回答