Django从Jquery帖子获取值
任务:它实现了在运行时动态检查是否有一个单词被捕获 我过去使用过jquery,在PHP方面从未遇到过问题,但我是Django的新手: 此代码导入到名为home.py的页面中,它希望将从文本字段中选取的值发送到名为checkkeyword.py的接收页面。但在开始之前,我想看看接收页面是否真的响应了,令人困惑的是,我得到的是checkkeyword.py中所写内容的全部内容 也就是说,我在文本字段中输入一个字符,是的,我会在它旁边得到一个回复,但是回复是checkkeyword.py中所有内容的完整内容为什么Django从Jquery帖子获取值,jquery,python,django,Jquery,Python,Django,任务:它实现了在运行时动态检查是否有一个单词被捕获 我过去使用过jquery,在PHP方面从未遇到过问题,但我是Django的新手: 此代码导入到名为home.py的页面中,它希望将从文本字段中选取的值发送到名为checkkeyword.py的接收页面。但在开始之前,我想看看接收页面是否真的响应了,令人困惑的是,我得到的是checkkeyword.py中所写内容的全部内容 也就是说,我在文本字段中输入一个字符,是的,我会在它旁边得到一个回复,但是回复是checkkeyword.py中所有内容的完
$( document ).ready(function() {
$('#keyword').keyup(function() {
var keyword = $(this).val();
$('#keyword_status').text('searching ...');
if(keyword!= ''){
$.post(
'/static/js/checkkeyword.py',
{param: keyword},
function (data){
$('#keyword_status').text(data);
});
}
});
});
如果checkkeyword.py
包含“hello”,它将返回hello
。如果它包含print(“hello”)
,它将返回print(“hello”)
等
出于测试目的,正如您所见,我将checkkeyword.py
放在jQuery文件所在的同一目录中
我看过一些关于它的帖子,比如写这样的东西>
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def my_view(request):
print(request)
但是,正如预期的那样,它返回所有这4行代码,而不是请求的值
请:不要对我的无能或否决票发表欺凌性评论。我刚开始
谢谢。您必须忘记您所学到的知识:-)问题是您假设只需将Python文件放到静态文件夹中,就会自动执行其中的Python代码(事实并非如此——您只需将内容取回,就好像它是静态文件夹中的图像、文本文件或任何其他文件一样) 你必须
views.py
文件中,可能与settings.py
文件位于同一文件夹中url.py
文件中注册视图,可能如下所示from .views import my_view
urlpatterns = [
# The following line may already be there:
url(r'^admin/', include(admin.site.urls)),
# This is the new line you're adding:
url(r'^my-view/$', my_view),
]
然后,尝试发布到/my view/
,看看是否有结果
另外,我将非常强烈地建议您首先学习本教程。它有望帮助您了解URL、视图之间的关系,以及请求-响应处理如何与Django一起工作
祝你好运
关于CSRF:首先禁用CSRF保护可能对您有效,但在面向公众的服务器上安装应用程序时,请学习并重新启用CSRF。您必须忘记所学内容:-)问题在于,您假设只需将Python文件放到静态文件夹中,就会自动执行其中的Python代码(事实并非如此——您只需将内容取回,就好像它是静态文件夹中的图像、文本文件或任何其他文件一样) 你必须
views.py
文件中,可能与settings.py
文件位于同一文件夹中url.py
文件中注册视图,可能如下所示from .views import my_view
urlpatterns = [
# The following line may already be there:
url(r'^admin/', include(admin.site.urls)),
# This is the new line you're adding:
url(r'^my-view/$', my_view),
]
然后,尝试发布到/my view/
,看看是否有结果
另外,我将非常强烈地建议您首先完成本教程。它有望帮助您理解URL、视图之间的关系,以及请求-响应处理如何与Django一起工作
祝你好运
关于CSRF:首先禁用CSRF保护可能对您有效,但在面向公众的服务器上安装应用程序时,请研究并重新启用CSRF。您是在服务器上运行它吗??localhost还是什么?在web服务器上,我使用的是c9.io。您是否在服务器上运行它??本地主机还是什么?在web服务器上,我使用的是c9.io