Django:使用 Ajax 获取模板中的数据库对象值

2024-02-25

我想根据用户选择获取数据库对象。我知道 Ajax 是一种可能的解决方案,但我不知道如何实现。这是代码:

view.py:

def automation(request):
    //some code
    car = CAR.objects.get(ida_name='honda')
    model = car.model_set.all()
    //some code

模板.html:

Select CAR: <select id="car" name="car">
{% for car in car_list %}
<option value="{{ car.id }}" id="{{ car.id }}">{{ car.car_name }}</option>
{% endfor %}
</select>

Select car model: <select id="model" name="model">
{% for model in car.model_set.all %}
<option value="{{ forloop.counter }}">{{ model.model_name }}</option>
{% endfor %}
</select>

在这里,我想将一个名称,例如“honda”从我的模板(用户在下拉列表中选择它)传递到我的 view.py,然后它将获取相应的对象并将结果返回到“model”中的我的模板' 下拉列表。 (因此,基本上,当用户从汽车下拉列表中选择任何汽车时,汽车型号列表就会刷新)

Note:model 与 models.py 中的 Car 是多对多关系

我在这里被困了很长时间,任何帮助将不胜感激。


您可以使用 AJAX 回调您的 Django 代码并返回您的汽车名称:

模板.html

$(document).ready(function () {
    $(document).on("click",'.car_add', function() {
        $car_id = $(this).attr('id')
        $.ajax({
            type: "POST",
            // This is the dictionary you are SENDING to your Django code. 
            // We are sending the 'action':add_car and the 'id: $car_id  
            // which is a variable that contains what car the user selected
            data: { action: "add_car", id: $car_id },
            success: function(data){
                // This will execute when where Django code returns a dictionary 
                // called 'data' back to us.
                $("#car").html("<strong>"+data.car+"</strong>");                
            }
        });
    });
});

views.py

def post(self,request, *args, **kwargs):
    if self.request.is_ajax():
        return self.ajax(request)

def ajax(self, request):
    response_dict= {
        'success': True,
    }
    action = request.POST.get('action','')

    if action == 'add_car':
        car_id = request.POST.get('id','')

    if hasattr(self, action):
        response_dict = getattr(self, action)(request)
        car = CAR.objects.get(ida_name='car_id')
        response_dict = {
            'car_name':car.name
        }

    return HttpResponse(simplejson.dumps(response_dict),
                        mimetype='application/json')

总而言之,这就是您正在做的事情:

  • 通过 Ajax 将汽车的“id”发送回 Django。
  • Django“发布”给自身,意识到这是一个 AJAX 调用并调用 AJAX 函数
  • Django 看到操作是“add_car”并执行 if 语句
  • Django 使用您发送的 ID 查询数据库,返回一辆车
  • Django 将该数据作为 JSON 对象(在本例中为字典)发送回页面
  • JQuery 使用传递的信息更新页面。

如果您想查看清晰的示例,请参阅此Link http://www.devinterface.com/blog/en/2011/02/how-to-implement-two-dropdowns-dependent-on-each-other-using-django-and-jquery/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django:使用 Ajax 获取模板中的数据库对象值 的相关文章

  • AJAX 是如何工作的?

    AJAX的本质是什么 例如 我想在我的页面上有一个链接 这样当用户单击此链接时 一些信息就会发送到我的服务器 而无需重新加载当前页面 那是阿贾克斯吗 我能够通过使用 isoframe 来实现这种行为 更详细地说 我在一个小 isoframe
  • 如何使用Jquery使用javascript运算符符号搜索表单列?

    实际上 我试图在搜索后获取单个表列值 如果我选择 运算符并在列中键入任何输入值 然后在搜索后 输入值将类似于匹配相似值的一行或多行 同样 如果我选择 运算符和此列 则将获得小于输入值的任何输入值 如果我选择 运算符 则小于或等于输入值将获得
  • Prettier vscode 扩展不支持 Django 模板标签 {% tag %}

    Prettier Visual Studio 代码扩展不支持 Django 模板标签 tag 现在我该如何解决这个问题 我是否必须禁用 html 文件的 Prettier 扩展 或者还有其他解决方案吗 github 中的问题 5581 不支
  • 如何以编程方式禁用 元素上的自动选择?

    然后用户使用 TAB 或 SHIFT TAB 跳转 到某个文本框 并且该文本框恰好有一个值 那么该值将被自动选择 我想禁用此行为 我认为这可以在 focusin 事件处理程序内部完成 input text focusin function
  • javascript + jquery + setinterval + 动画

    我在 setInterval 和 jquery animate 方面遇到问题 这是我的代码 function slides1 table agah1 animate left first1 slow table agah2 animate
  • django过滤器查询集在模板上显示变量[重复]

    这个问题在这里已经有答案了 下面是我的统计页面的views py 此页面有大量基于我的模型对象的计算 效果很好 然而当我申请时Django 过滤器 https django filter readthedocs io en stable 数
  • 将相同的多个对象推送到多个数组中

    这是后续使3个数组相互对应 第一个是对象名称 https stackoverflow com questions 57564488 make 3 arrays correspond to each other with the first
  • 表单输入框不显示

    我正在尝试使用 Django 显示一个简单的表单输入文本框 我正在亚马逊 AWS 上部署 该网站在不同的服务器 pythonanywhere 上运行良好 但在 AWS 上存在主要问题 具体来说 输入框没有被显示 我使用的模板如下 首页 ht
  • 如何将毫秒转换为可读的日期?

    下列 new Date 1324339200000 toUTCString Outputs Tue 20 Dec 2011 00 00 00 GMT 我需要它返回Dec 20 除了我可以使用的更好的方法之外toUTCString 我正在寻找
  • Spring Security 的 AJAX 请求给出 403 Forbidden

    我有一个基于spring boot spring security thymeleaf的网站 在某些情况下我也使用ajax 问题 我在 Spring Security 中使用表单登录安全性 在浏览器中 登录后我可以使用rest API GE
  • React.js 和 Ajax 之间的区别

    当我在 google 上搜索 React js 时 我得到的是 React js 是一个用于创建用户界面的框架 如果网站的某个特定部分经常更新 则意味着我们可以使用 React 但我很困惑 Ajax 仅用于此目的 我们可以使用 Ajax 更
  • 使用 Jquery Ajax 将数据从 jsp 发送到 struts2 操作类

    我需要使用 jquery Ajax 将表单数据从 jsp 传递到 struts2 并从 Struts2 操作类接收回 JSON 数据 我已经给出了下面的代码 当我传递 AJAX 数据时 url search action searchTex
  • jquery改变图像src

    代码与 adminLink 工作得很好 但是 itemLink 没有 我已经尝试了我能想到的一切 我想我需要一双新鲜的眼睛 我想做的就是在单击元素时更改这两个 img 的 src code document ready function H
  • 如果验证失败,如何在 ASP.NET MVC 中阻止 jquery ajax 提交

    我在用ASP NET 5 MVC RC1 我的 ASP NET MVC 使用的 jquery 验证插件是默认 ASP NET 5 模板项目使用的标准 jquery validate js jQuery Validation Plugin v
  • django PermissionRequiredMixin Permission_required 不起作用

    Views py class templateList PermissionRequiredMixin TemplateView permission required accounts template all def get self
  • asp.net mvc jquery 下拉验证

    我如何使用不显眼的 javascript 验证下拉列表 作为所需验证器的验证文本框 但它不适用于下拉列表 需要更改不显眼的 js 文件吗 或者还有其他选项来验证下拉列表吗 我想在我的 javascript 中检查 form validate
  • jQuery Mobile 数据过滤器,以防没有结果

    我目前正在探索 jQuery Mobile 以开发带有订单跟踪信息的移动版仪表板 计划是使用一个包含所有订单的简单无序列表 人们可以单击他们想了解更多信息的链接 由于此列表可能会变得相当大 因此拥有过滤功能非常好 使用 jQuery Mob
  • Django ImageField 默认值

    模型 py class UserProfile models Model photo models ImageField upload to get upload file name storage OverwriteStorage def
  • 如何覆盖 Django 中的默认用户模型字段?

    问题是默认的用户模型没有为字段提供一些非常有用的选项 例如唯一 真实到电子邮件字段 我读过这个问题 覆盖默认的用户模型方法 https stackoverflow com questions 1817244 django override
  • 动态 jquery 对话框弹出窗口

    我只使用过已知数量的 JQuery 对话框 并且在使动态版本正常工作时遇到了各种麻烦 希望有人能帮助我解决这个问题 这是我用已知数字执行此操作的方法 opener1 click function dialog1 dialog open di

随机推荐

  • PHPExcel - 图表渲染和加载 Excel 给出错误

    require once PHPExcel 1 7 7 Classes PHPExcel php inputFileName RN Tracker xlsx inputFileType PHPExcel IOFactory identify
  • 将此 cURL 转换为 Guzzle

    我尝试阅读 Guzzle 文档 但我无法解决这个问题 我想使用 Guzzle 而不是 cURL 来执行以下操作 protected url https secure abcdef com cgi xml request server php
  • Javascript AOP 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 您使用哪个 Javascript AOP 库 它的主要功能是什么 这是我到目前为止发现的 dotvoid
  • Angular 6/C#/MVC 以 Json Array of Array 的形式从控制器动态返回 JsonResult

    我正在尝试在 Angular 6 应用程序中将多个数据集导出到 Excel 为此 我使用 XLSX 和文件保存 如本例中所示 https medium com madhavmahesh exporting an excel file in
  • 使用 Redis 进行复合查询

    出于学习目的 我尝试在 Redis 中编写一个简单的结构化文档存储 在我的示例应用程序中 我正在对数百万个文档建立索引 这些文档看起来有点像下面这样
  • TensorFlow、批量索引(第一维)和排序

    我有一个形状为 params 张量 368 5 以及具有形状的查询张量 368 查询张量存储用于对第一个张量进行排序的索引 所需的输出具有以下形状 368 5 由于我需要它作为神经网络中的损失函数 因此所使用的操作应该保持可微分 另外 在运
  • 在WordPress中,如何在评论后重定向回引用页面?

    我在 WordPress 中的不同类型页面 存档 标签 搜索 主页 上启用了评论 并且在用户发布评论后 我希望将它们重定向回其引用页面 而不是单个帖子页面 有任何想法吗 把这个放在你的函数 php add filter comment po
  • 为什么在 UIView 再次添加到父级之前不调用 deinit ?

    我有一个 UIView 添加到 UIViewController 中 并且通常测试去初始化以确保我做的事情是正确的 但是 当我没有将 viewController 中的变量设置为 nil 并仅使用 removeFromSuperView 时
  • getResource() 无法加载 jar 中的内容

    我可以在 Eclipse 中成功加载 src 目录中某些包中的资源 现在 我导出 jar 右键单击 src 导出 jar 并保留默认设置 并且无法将资源加载到另一个 eclipse 项目中 我通过指示位于同一包名称中的类来构建资源的路径 U
  • 使用 fields_for 创建多个记录 - Rails

    我有两个模型 task and list items a task有很多list items 但我希望能够创造task还有很多list items如果用户想要所有内容都以一种形式 这是目前的样子 FORM
  • PHPDoc 文档生成器是在 Eclipse 中还是在 Eclipse 之外? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 Eclipse PDT 进行开发 我一直在代码中添加 phpdoc 注释 但实际上从未在
  • 导入 numpy 时出现 OpenBLAS 错误:`blas_thread_init 函数中的 pthread_creat 错误`

    突然间 我无法导入 numpy import numpy as np OpenBLAS pthread creat error in blas thread init function Error code 1 我正在运行 numpyAna
  • 使用 iPhone 的排序描述符对核心数据位置变化进行排序

    我有一个具有两个属性的 CoreData 实体 一个称为 position 另一个称为 positionChange 它们都是整数 其中position属性是当前位置 positionChange是前一个位置和新位置之间的差值 这意味着po
  • 颤动| Dart:URI 目标不存在

    我正在制作我的第一个应用程序来使用 Flutter 构建 Android 应用程序 我使用 Android Studio 作为 IDE 问题是当我导入 http 包时 import package http http dart as htt
  • scala 中两个数据帧的架构比较

    我正在尝试编写一些测试用例来验证源 csv 文件和目标 配置单元表 之间的数据 验证之一是表的结构验证 我已将 csv 数据 使用定义的架构 加载到一个数据框中 并将配置单元表数据提取到另一个数据框中 当我现在尝试比较两个数据帧的架构时 它
  • 用于验证邮政编码并检查无效字符的正则表达式

    我正在尝试验证邮政编码的输入 现在这个邮政编码应该适用于美国 加拿大 英国 所有国家 但省略任何特殊字符 所以我尝试 首先检查无效字符 如果通过 然后我检查邮政编码要么是美国 要么只是为了确保有有效字符且不超过 8 个 只要现在是美国 它们
  • 为什么第二次 cp 命令更快

    当我执行时cp folder1 folder2 rf 第一次大约需要10分钟 但是当我执行第二个命令时cp folder1 folder3 rf 大约需要 1 分钟 folder1包含大约 100 000 个文件 为什么第二次运行时间会有所
  • 强制使用 C++ override 关键字?

    我真的很喜欢 c 11 的新 override 关键字 我试图将它添加到我的代码中 如果编译器能够帮助我发现所有这些情况 那就太好了 有什么方法可以让编译器表现得好像 override 关键字是强制的吗 我正在使用 Visual Studi
  • 类模板的成员函数如果从未被调用,是否不会被实例化?

    我刚刚开始了解一些模板基础知识 实际上 直到现在我才接受它作为事实 但我不太明白为什么会这样 template
  • Django:使用 Ajax 获取模板中的数据库对象值

    我想根据用户选择获取数据库对象 我知道 Ajax 是一种可能的解决方案 但我不知道如何实现 这是代码 view py def automation request some code car CAR objects get ida name