Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django从Jquery帖子获取值_Jquery_Python_Django - Fatal编程技术网

Django从Jquery帖子获取值

Django从Jquery帖子获取值,jquery,python,django,Jquery,Python,Django,任务:它实现了在运行时动态检查是否有一个单词被捕获 我过去使用过jquery,在PHP方面从未遇到过问题,但我是Django的新手: 此代码导入到名为home.py的页面中,它希望将从文本字段中选取的值发送到名为checkkeyword.py的接收页面。但在开始之前,我想看看接收页面是否真的响应了,令人困惑的是,我得到的是checkkeyword.py中所写内容的全部内容 也就是说,我在文本字段中输入一个字符,是的,我会在它旁边得到一个回复,但是回复是checkkeyword.py中所有内容的完

任务:它实现了在运行时动态检查是否有一个单词被捕获

我过去使用过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