在 Django 中使用 Ajax Get/Post 方法
Posted
技术标签:
【中文标题】在 Django 中使用 Ajax Get/Post 方法【英文标题】:Using Ajax Get/Post methods with Django 【发布时间】:2013-01-12 07:42:59 【问题描述】:我对客户端代码非常陌生,而对于服务器端(尤其是 Django)则完全一无所知。我试图做的是单击一个向服务器发送获取请求的按钮,然后将其发布在页面上(使用jGlideMenu)。
我知道代码应该如下所示:
$('#clickID').click(function()
$.ajax(
url:"someURLGoesHere",
type: 'GET',
success: function(data)
$('#someEl_2').html(data)
,
dataType: JSON
);
);
我不知道该 URL 使用什么。我需要参考 url.py 文件吗?意见.py?模型.py?也许其中一个文件中有一个特定的变量?我还需要使用相对目录吗?
我发现的所有教程都使用 php,所以我不确定它是否相同。请帮忙!
【问题讨论】:
【参考方案1】:您输入您设置的任何 URL,以转到相应的函数来处理 views.py 文件中的数据。如果你的 urls.py 中有这个:
url(r'^/testing$','proj.app.testing')
你会为你的 ajax 请求输入'/testing'
。
【讨论】:
Austin,即使 views.py 位于不同的目录中?例如,.py 文件在 main/views.py 中,而 .js 在 main/js/index.js 中? JS 文件的位置无关紧要。重要的是您调用了正确的 URL。 JS 路径不相关。【参考方案2】:如果你想从你的 Django 应用中插入内容,你可以使用 jQuery 的load()
方法:
$('#result').load('path/to/script.py');
您需要点击一个可公开访问的 Python 脚本。而对于其他 MVC 框架,您需要点击控制器,因为Django has a slightly different methodology,您需要点击视图,因为这些控制对您的模型的访问并处理大部分业务逻辑:
在 Django 对 MVC 的解释中,“视图”描述了 呈现给用户;不一定只是数据如何 看起来,但显示的是哪些数据。相比之下,Ruby on Rails 和 类似的框架表明控制器的工作包括决定 哪些数据被呈现给用户,而视图是严格的 数据的外观,而不是呈现的数据。
【讨论】:
以上是关于在 Django 中使用 Ajax Get/Post 方法的主要内容,如果未能解决你的问题,请参考以下文章
Python-Django 如何在管理员中使用 django-ajax-uploader?