使用 Django 通过 AJAX URL 传递参数

2024-04-23

下面是我的代码。 'n' 在控制台中正确记录,如果我手动输入 'n' 的值,一切都会完美运行url: '{% url "delete_photo" iddy=2%}'。唉,当我尝试使用“n”作为变量(如下所示)时,它给了我一个反向匹配未找到错误。有人能帮忙吗?

javascript

 function test(n){
    console.log(n);
    $.ajax({
      type: 'get',
      url: '{% url "delete_photo" iddy=n%}',

      datatype:'json',
      success: function(data){
                alert(n)
                console.log(data)
                console.log(n)
                },
      error: console.log("SSS"),

    });}

html

{% for t in photos %}
<div id="photobox" ><img id="img_pb3"src="{{t.photo.url}}">
<div><a><span onclick="test({{t.id}})" class="closeBtn">&times;</span></div></a>
</div>
{% endfor %}

urls

urlpatterns = [
     path('', views.explore, name='explore'),
     path('home/', views.home, name='home'),
     path('home/comment', views.comment, name='comment'),
     path('home/photo_del/<iddy>', views.delete_photo, name='delete_photo')
]

views

def delete_photo(request, iddy):

    data = {'a':iddy, 'b': iddy}
    return JsonResponse(data, safe=False)

你不可能这样做。您从根本上误解了后端 Django 代码和前端 Javascript 代码之间的关系。 Django 模板在服务器上进行全面评估,此时模板标签将转换为纯 HTML 文本。因此,Javascript 函数(在浏览器本身上运行的时间要晚得多)无法传递要在模板标记中使用的参数。

执行此操作的唯一方法是使用虚拟值呈现 URL(您知道该值不会出现在 URL 本身中),然后使用普通的 JS 字符串替换函数将 JS 中的值替换为参数中的值。

说实话,最好从 URL 中完全删除 ID。除此之外,删除操作应该是 POST,而不是 GET - 您不希望 Googlebot 意外抓取您的网址并删除您的所有项目 - 并且通过 POST,您可以发送已发布数据中的 ID。

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

使用 Django 通过 AJAX URL 传递参数 的相关文章

  • Nodejs 异步 Promise 队列

    我需要使用速率受限的 API 例如 我一秒钟只能进行 10 个 API 调用 因此我需要等待当前秒结束才能进行另一个 API 调用 为了实现这一目标 我想创建一个可以自行管理的异步队列 它的主要功能是让我向队列添加一个新的 Promise
  • 如何检查discord.py中的所有者

    我试图让这个命令只有所有者才能运行它 是否有办法检查服务器的最高角色或创建者 我尝试了 commands is owner 但这仅检查某人是否是机器人的所有者 Guild owner https discordpy readthedocs
  • 无法使用 wxPython 打开在 folium 中生成的本地 HTML 文件

    我目前正在尝试将 GPS 坐标绘制为地图上的标记 并在 wxPython 中显示结果 我使用 folium 绘制坐标标记并生成 HTML 文件 import folium fmap folium Map 43 5321 172 6362 z
  • axios 如何将 blob 与 arraybuffer 作为响应类型处理?

    我正在下载一个 zip 文件axios https www npmjs com package axios 为了进一步处理 我需要获取已下载的 原始 数据 据我所知 Javascript 有两种类型 Blob 和 Arraybuffers
  • Lodash _.hasIntersection?

    我想知道两个或多个数组是否有共同的项目 但我不在乎这些项目是什么 我知道 lodash 有一个 intersection方法 但我不需要它来遍历每个数组的每个项目 相反 我需要类似的东西 hasIntersection一旦找到第一个常见的出
  • Python 中的 Firebase 身份验证时出现 KeyError:“databaseURL”

    相信你做得很好 我是 firebase 的新手 正在尝试进行用户身份验证 我已经安装了pyrebase4并在firebase控制台上创建了一个项目 我还启用了使用 电子邮件和密码 登录并尝试连接我的应用程序 下面是我正在尝试的代码 impo
  • __author__ 的起源是什么?

    使用私有元数据变量的约定在哪里 author 一个模块内部从何而来 This http mail python org pipermail python dev 2001 March 013328 htmlPython 邮件列表线程似乎暗示
  • 如何在 FastAPI Swagger API 中按方法类型对方法进行排序?

    如何在 FastAPI Swagger 自动文档中设置 API 方法的排序顺序 我希望所有方法按类型分组 GET POST PUT DELETE 这个答案 https stackoverflow com questions 24951268
  • 在python中检测按下了哪些键

    我需要知道现在按下的是哪个键 我不想捕获一些特定的按键来触发事件或类似的事情 我想知道现在按下了哪些键并显示它们的列表 我还需要捕获特殊键 如 F1 F12 shift alt home windows 等 基本上是键盘上的所有键 我如何在
  • 数据表 - 从 AJAX 源过滤数据

    我有一个数据表 正在从 api 获取数据 现在我的状态是活动的 非活动的 如果标志是活动的 那么我需要在数据表中显示 否则我不应该显示过期的 这是我的fiddle https jsfiddle net lakshmipriya001 qLp
  • 分配函数后如何删除 onmouseout 事件?

    我有一个问题 我正在为 onmouseout 事件分配一个函数 但运行该事件后 我需要将其删除 将非常感谢您的帮助 这取决于你的代码 如果你用 d3 这样做 那么你可以说 在 onmouseout 事件函数中 element on mous
  • 获取列的 [0, x] 元素的最小值

    我需要计算一列 其中值是对其他列进行矢量化运算的结果 df new col df col1 min 0 df col2 然而 事实证明我不能像上面的语法一样使用 min 那么 获得 pandas 列的零和给定值之间的最小值的正确方法是什么
  • 如何动态选择要在flask中使用的模板目录?

    默认情况下 Flask 使用存储在 template 目录中的模板文件 flaskapp application py templates hello html 有没有办法根据登录的用户动态选择模板目录 这就是我想要的目录结构 flaska
  • 如何通过异常值检测方法在周期性或基于序列的数据上生成脉冲作为异常值以进行实验?

    我想对一些时间序列数据进行一些实验KM https scikit learn org stable auto examples cluster plot cluster iris html sphx glr auto examples cl
  • 如何将动态数据传递给装饰器

    我正在尝试编写一个基本的 CRUD 控制器类来执行以下操作 下列的 class BaseCrudController model field validation template dir expose self template dir
  • 如何加载Jquery Tiny滚动条

    所以我想自定义一个滚动条 我发现了一个很小的滚动条 这是一个jquery插件 http baijs nl tinyscrollbar http baijs nl tinyscrollbar 问题是 无论如何我都无法让它工作 我将 Jquer
  • 如何使用 PySpark 预处理图像?

    我有一个项目 需要为 1 设置大数据架构 AWS S3 SageMaker 的概念验证使用 PySpark 预处理图像 2 执行 PCA and 3 训练一些机器或深度学习模型 我的问题是了解如何使用 PySpark 操作图像数据 但无法在
  • 如何使用node.js获取屏幕分辨率

    我需要使用 node js 获取屏幕分辨率 但以下代码不起作用 var w screen width var h screen height 这也行不通 var w window screen width var h window scre
  • 收到 Python 错误“来自:无法读取 /var/mail/Bio”

    我正在运行一个 bio python 脚本 这会导致以下错误 from can t read var mail Bio 由于我的脚本与邮件没有任何关系 我不明白为什么我的脚本在 var mail 中查找 这里似乎有什么问题 我怀疑这会有帮助
  • 如何向 SvelteKit/Vite 应用添加版本号?

    我正在尝试在我的 SvelteKit 应用程序中创建一个系统 它会在某个页面上向您显示有关当前应用程序版本的信息 最好是 Git 提交哈希和描述 我尝试使用Vite的定义功能 https vitejs dev config define在构

随机推荐

  • 需要在Windows Phone 7屏幕上显示大量文字

    我想要在屏幕上显示大约 800 KB 的文本 有人可以让我知道这个问题的可能解决方案吗 由于文本块的 2048X2048 限制 我已经尝试将文本拆分为多个文本块 并且也尝试过http blogs msdn com b priozersk a
  • 在 FFI 中使用 ptr::NonNull 是否有效?

    铁锈具有ptr NonNull https doc rust lang org beta std ptr struct NonNull html代表非的类型NULL指针 在 FFI 中使用这种类型安全吗 是否保证具有相同的二进制表示形式 忽
  • 捕获文件似乎在数据包中间被缩短 - 如何防止此错误?

    在我的应用程序中 我打开 Tshark 进程并开始捕获 当我想完成捕获时 我会终止 Tshark 进程 因此有时捕获文件已损坏 当我尝试打开此文件时 我收到错误捕获文件似乎在数据包中间被剪短 如何防止此错误有没有更好的方法来关闭 Tshar
  • 来自 .meta .info .data 的 Tensorflow 冻结推理图并组合冻结推理图

    我是张量流新手 目前正在努力解决一些问题 如何在没有管道配置的情况下从 meta data info 获取冻结推理图 我想实时检查预先训练的交通标志检测模型 模型包含 3 个文件 meta data info 但我找不到信息 如何在没有管道
  • 为什么在 Pandas 中使用 apply 时会出现额外的索引

    当我使用apply对于 Pandas 中的用户定义函数 看起来 python 正在创建一个附加数组 我怎样才能摆脱它呢 这是我的代码 def fnc group x group C values out x np where x lt 0
  • 带计数的 EF Core 左连接

    我在 MySql 数据库上有 3 个表 我想在这 3 个表之间进行左连接并使用 group by 进行计数 城市表 Id Name 学校桌 Id CityId Name 学生桌 Id SchoolId Name MySql raw quer
  • 如何在 Azure DevOps 中启用 Docker 层缓存

    我正在运行下面的 yaml 脚本来构建 docker 映像并推送到 kubernetes 集群 但同时我想在构建 yaml 脚本时在 azure DevOps 中启用 docker 层缓存 您能否解释一下如何启用或如何添加azure dev
  • 当数据更改时,ggvis 中的 linked_brush 无法在 Shiny 中工作

    我想创建一个闪亮的应用程序 它使用 ggvis 绘制交互式图形 并使用 linked brush 选择图形中的点 绘图数据根据输入而变化 但是当我尝试将所有内容放在一起时 我收到一条错误消息 Error Length of calculat
  • 使用 AVPlayer 的 MTAudioProcessingTap 和远程 URL 进行 AVFoundation 音频处理

    关于以下内容的文档很少AVA音频混合 http developer apple com library mac documentation AVFoundation Reference AVAudioMix Class Reference
  • Flexbox 中的第一个子级全角

    如何将 Flexbox 的第一个子项设置为全角 并将所有其他子项设置为flex 1 用于分割空间 像这样 您可以设置 first child宽度为100 以及其余的孩子 not first child to flex 1 要将它们放在多行上
  • 带有多个闹钟的Android闹钟[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想创建一个带有多个闹钟的闹钟 我想
  • 一种自动取消和重新启动任务的模式

    是否有推荐的自我取消和重新启动任务的既定模式 例如 我正在开发后台拼写检查器的 API 拼写检查会话被包装为Task 每个新会话都应该取消前一个会话并等待其终止 以正确地重新使用拼写检查服务提供者等资源 我想出了这样的东西 class Sp
  • Android Web 视图中隐藏在键盘下方的文本框

    我创建了一个简单的 iPhone Android 应用程序 包含一个普通的 Web 视图 这个网络视图调用我的网站 在我的网站上有几种输入类型 文本或文本区域的表单 当它们位于页面底部时 我遇到了问题 1 在我的iPhone应用程序中 键盘
  • 将内部图像替换为外部图像

    用户单击 蒙版 并上传图像 其显示的同一张图片两次 also Edit文本正在图像上显示 一旦用户单击 编辑文本 我们就会显示pop up box 在那里我们可以看到Zoomin Zoomout按钮正在显示 Issue 一旦我们点击这些按钮
  • 如何解决此 Log4J 导入错误(也与类路径相关)?

    当我运行以下简单的 log4J 示例时 出现错误 import org apache logging log4j core import java io import java sql SQLException import java ut
  • 在SQL Server中将float转换为varchar而不使用科学记数法

    在 SQL Server 中将 float 转换为 varchar 无需科学记数法和修剪小数 例如 我有浮点值1000 2324422 然后它会被转换成varchar一样1000 2324422 可以有任意数量的小数值 浮点值是随机出现的
  • 在 python -flask -jinja2 模板中迭代多个列表

    我在迭代中遇到问题for loop在 Flask jinja2 模板中的多个列表上 我的代码如下所示 Type RS IDs 1001 1002 msgs Success Success rcs 0 1 return render temp
  • 错误:“rake/rdoctask”已过时且不再受支持

    突然 我开始收到以下错误消息 in Users me rvm gems ruby 1 9 3 p125 mysql2 gems rails 0 9 5 rake aborted ERROR rake rdoctask is obsolete
  • end()在STL容器中是如何实现的?

    因此 当我们需要从头到尾遍历容器时 我们会写类似的内容 for i v gt begin i v gt end i 假设i是容器的迭代器v 我的问题是 什么保证 end 将始终指向容器中最后一个元素之后的一个 STL 如何确保这种行为 这种
  • 使用 Django 通过 AJAX URL 传递参数

    下面是我的代码 n 在控制台中正确记录 如果我手动输入 n 的值 一切都会完美运行url url delete photo iddy 2 唉 当我尝试使用 n 作为变量 如下所示 时 它给了我一个反向匹配未找到错误 有人能帮忙吗 javas