【问题标题】:Using Ajax Get/Post methods with Django在 Django 中使用 Ajax Get/Post 方法
【发布时间】:2024-01-29 18:40:01
【问题描述】:

我对客户端代码非常陌生,而对于服务器端(尤其是 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,所以我不确定它是否相同。请帮忙!

【问题讨论】:

    标签: jquery ajax django post get


    【解决方案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 和 类似的框架表明控制器的工作包括决定 哪些数据被呈现给用户,而视图是严格的 数据的外观,而不是呈现的数据。

    【讨论】: