无法在 Ajax post 请求中创建新的 Django 模型对象

2024-04-18

这是一种“我已经在调试这个问题上损失了 x 小时”的问题/问题:(

以下 jQuery js 代码在单击按钮时启动 POST 请求

$("#btn_create_tag").click(function(evt) {
$.post("/tag/createAjax", { 
    tagname: $("#txt_tag_name").val()       
    },
    function(data) {
    }
);
});

在此调用上执行的 Django 代码是:

@suppress_logging_output
@login_required
def createAjax(request):
    if request.is_ajax() and request.method == 'POST':
        tagName = request.POST["tagname"]
        new_tag = Tag()
        new_tag.name = tagName
        new_tag.save()
        print "new tag with id %s has been created" % new_tag.id

该代码已成功执行(我正在检查空名称或已存在的名称,但没有在这里写得更清楚),但未创建新的 Tag 对象。 我什至在开发服务器的提示符上打印出“已创建带有 id %s 的新标签”,并且每次 ID 都会增加 1,正如所料,但对象并未存储在数据库中。

当我执行时

new_tag = Tag()
new_tag.name = tagName
new_tag.save()

从 Django shell 中,会定期创建新的 Tag 对象,但从 jQuery 请求中,不会创建它。

知道出了什么问题、要检查什么、如何调试......

后面的DB是PostgresQL 8.3。

任何建议都非常受欢迎:)

Update:

我写了UnitTest,它正在工作:

class AjaxTestCase(TestCase):
    def testAjaxCreateTag(self):
        tagNum = Tag.objects.filter(name="TEST_TAG").count()
        self.assertEqual(tagNum, 0)
        c = Client()
        c.post('/lookup/tag/createAjax', {'tagname': 'TEST_TAG'}, HTTP_X_REQUESTED_WITH='XMLHttpRequest')
        tagNum = Tag.objects.filter(name="TEST_TAG").count()
        self.assertEqual(tagNum, 1)

Update2:

嗯,今天早上,似乎一切正常,但代码没有改变。我一点也不喜欢这个:(


这听起来很奇怪。你能仔细检查你的数据库设置吗?确保您在内部使用正确的数据库settings.py?还可以使用 Django 编写一个单元测试来测试代码测试客户端 http://docs.djangoproject.com/en/dev/topics/testing/#django.test.client.Client。在您的测试方法中,请记住发送HTTP_X_REQUESTED_WITH标题为is_ajax()上班。

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

无法在 Ajax post 请求中创建新的 Django 模型对象 的相关文章

  • 使用 Jquery 清除 5 个空 TD

    我有一个正在填充的动态表 我知道我不应该这样做 但是你会如何连续找到 5 个空 TD 并隐藏它们呢 因此 如果行包含 5 个空 TD 则不显示 TD 我想删除每个实例 td td td td td td td td td td 在 DOM
  • 如何解决 Typescript 构建中的错误“找不到模块 'jquery'”

    我目前在 ts 文件的顶部有这个import require jquery 我这样做是因为我试图在我的打字稿文件中使用 jquery 但我似乎无法编译它 因为它返回标题中所述的错误 我正在使用 ASP NET CORE 脚本文件夹 tsco
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • window.location 和 location.href 之间的区别

    我对之间的区别感到困惑window location and location href 两者似乎都以相同的方式行事 有什么不同 window location是一个对象 它保存有关当前文档位置的所有信息 主机 href 端口 协议等 lo
  • DataTables row.add 到特定索引

    我正在替换这样的行项目 var targetRow entity row dataTable targetRow closest table dataTable DataTable dataTable row targetRow remov
  • 页面上使用 HTML Editor Extender 进行回发会导致 IE11 中出现 JavaScript 错误

    我已将 HTML 编辑器扩展程序添加到我正在处理的页面中 现在每当我在页面上发回帖子时 都会收到以下 Javascript 错误 JavaScript 运行时错误 参数无效 之后什么也没有发生 这在 IE10 或更低版本以及我所知道的所有其
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • 解释 Python 中的数字范围

    在 Pylons Web 应用程序中 我需要获取一个字符串 例如 关于如何做到这一点有什么建议吗 我是 Python 新手 我还没有找到任何可以帮助解决此类问题的东西 该列表将是 1 2 3 45 46 48 49 50 51 77 使用
  • Vue 和 Vuex:处理依赖的计算属性

    我的应用程序是一个使用 Vuex 在 Vue 中构建的精简电子表格 关键组件是TableCollection Table and Row The TableCollection有一个包含多个的数组Table对象 每个Table有一个包含多个
  • 如何使用 crypto-js 解密 AES ECB

    我正在尝试将加密数据从 flash 客户端 发送到服务器端的 javascript 在 asp 中作为 jscript 运行 有几个 javascript Aes 库 但它们实际上没有文档记录 我正在尝试使用 crypto js 但无法让代
  • 如何隐藏/禁用 Highcharts.js 中的图例框?

    我想问是否可以使用 HighCharts js 库隐藏图表中的所有图例框 var chart object chart renderTo render to type graph type colors graph colors title
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • Javascript - 水波纹效果

    我需要 JS 上的脚本 它将以 水波纹 样式更改 images html 抱歉 6MB GIF 文件 http fcuunited ru temp listening2 gif http fcunited ru temp listening
  • 带参数的事件监听器

    我想将参数传递给 JavaScript 中的事件侦听器 我已经找到了解决方案 但我无法理解它们为什么或如何工作以及为什么其他解决方案不起作用 我有 C C 背景 但是 Javascript 函数的执行有很大不同 您能否帮助我理解以下示例如何
  • 使用 Python 的 matplotlib 选择在屏幕上显示哪些图形以及将哪些图形保存到文件中

    我想用Python创建不同的图形matplotlib pyplot 然后 我想将其中一些保存到文件中 而另一些则应使用show 命令 然而 show 显示all创建的数字 我可以通过调用来避免这种情况close 创建我不想在屏幕上显示的绘图
  • 使用 MongoDB 和 Nodejs 插入和查询日期

    我需要一些帮助在 mongodb 和 nodejs 中按日期查找记录 我将日期添加到抓取脚本中的 json 对象 如下所示 jsonObj last updated new Date 该对象被插入到 mongodb 中 我可以看到如下 la
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我
  • 循环内的异步性

    我正在使用 jQuery getJSON 用于从一组实用程序的给定 URL 检索数据的 API 我真的很想找到一种为每个实用程序重用代码 完全相同 的方法 由于循环的执行与 ajax 调用无关 因此我无法找到保留循环值的方法 我知道这个描述
  • 如何在react-highcharts中使用图表工具提示格式化程序?

    如何使用图表工具提示格式化程序 我正在使用高图表的反应包装器 我有这样的配置 const CHART CONFIG tooltip formatter tooltip gt var s b this x b each this points

随机推荐

  • iTunes Connect:无法编辑现有排行榜

    iTunes Connect 最近似乎存在一个问题 导致无法编辑 更改任何细节 现有排行榜 几天前 iTunes Connect 遇到了一个问题 我们无法创建新的排行榜 截至昨晚 iTunes Connect 的新部署修复了该特定错误 尽管
  • Visual Studio 中 VSCode 的 CTRL + D(“将选择添加到下一个位置匹配”)的等效快捷方式是什么?

    VSCode 有一个非常有用的快捷键 CTRL D 将选择添加到下一个查找匹配 Visual Studio 中的等效项是什么 下面是一个例子 更新 Visual Studio 2017 从 Visual Studio 2017 开始 可以通
  • 任务未等待完成

    我试图了解等待和异步 所以我编写了这个小测试应用程序 但我预期的情况并没有发生 程序不会等待任务完成 而是继续执行 class Program static void Main string args var task new Task R
  • .net core在linux平台哪里搜索证书

    在 Windows 上 对于 NET Framework 类 我们可以指定sslkeyrepository作为 SYSTEM USER Onlinux NET Core 类在哪里搜索certificates默认情况下以及可能的值是多少ssl
  • 如何将列表转换为数据表[重复]

    这个问题在这里已经有答案了 我有一个包含某些属性的数据列表 我想将该列表数据转换为数据表 如何将列表转换为数据表 添加这个函数并调用它 它会转换列表到数据表 public static DataTable ToDataTable
  • JDBC 将时间戳转换为 NULL(zeroDateTimeBehavior 问题)

    我正在使用 Pentaho 数据集成 表输入步骤 从 MySQL 服务器提取数据 有几个字段的类型为 时间戳 Pentaho 不断抛出错误 因为时间戳为 NULL 0000 00 00 00 00 00 000000 我添加了一个zeroD
  • baseR - 如何在 x 行之后添加空行[重复]

    这个问题在这里已经有答案了 我需要一些帮助来找到一种在每 x 行之后将单个空行添加到数据帧中的 baseR 方法 有人知道我该怎么做吗 非常感激任何的帮助 谢谢 例如 如果 x 64 则在数据框中每 64 行后添加一个空行 DATA df1
  • 动物园管理员:java.lang.ClassNotFoundException:org.apache.zookeeper.admin.ZooKeeperAdmin

    我有一个版本为3 4 10的zookeeper和版本为2 12 0的curator 但版本低于3 5 8的zookeeper对log4j1有严格的传递依赖 我想使用 log4j2 这就是为什么需要更新 Zookeeper 版本 我尝试了不同
  • 意外的令牌导入/导出 - typescript

    我第一次尝试 typescript 对我习惯在 es6 中使用的导入 导出过程感到困惑 这是我试图导出到一个名为的文件中的接口transformedRowInterface ts export interface TransformedRo
  • 使用 python ElementTree 解析 xml 文件中的未知元素

    我希望从一个多用途 xml 文件中提取所有标签名称及其相应的数据 然后将该信息保存到 python 字典中 例如标签 键 数据 值 问题是标签名称和值未知且数量未知
  • 即使 IDP 使用 SAML 成功登录后,获取身份验证对象仍为空

    我已经在我的应用程序中配置了 spring saml 和 spring security 我给出了不同的 url 模式来识别请求 如果我追加 rest在应用程序 URL 中 它将创建具有基本身份验证的 spring security 上下文
  • Java 中子字符串与字符串的比较

    所以基本上 用户输入 2 个字符串 CATSATONTHEMAT AT 我们需要计算第二个字符串在第一个字符串中出现的次数 所以这里的答案是 3 这就是我到目前为止所拥有的 而且它一直在说 线程 主 中的异常 java lang Strin
  • Android中如何实现羽化效果?

    我正在尝试创建一个椭圆形位图 并且需要在边缘周围获得羽毛效果 有谁知道我如何才能实现这一目标 谢谢 您可以将 羽化效果 视为渐变 其中alpha从 100 褪色到 0 Android 提供了径向渐变 http developer andro
  • Haskell:通过 Lens、lens-aeson 和嵌套 JSON 重用 FromJSON 实例

    我一直在使用 Aeson 和镜头包 lens aeson 从核心镜头包迁移而来 并且一直在努力让它们一起工作 作为一个玩具示例 我有一个类型 data Colour Yellow Green Blue 和 FromJSON 实例 insta
  • 扫雷板标签(初级)

    我们得到了一份家庭作业 其中我们得到了一个类似扫雷的样本板 其中有空格而不是数字 板是 String 形式 并且已经放置了地雷 我们需要的是创建一个函数 用数字替换所有空格 数字等于相邻地雷的数量 除了删除所有带零的空格之外 我无法取得任何
  • Credential Providers V2 - 提交后添加代码并检查用户密码

    单击提交按钮并检查用户密码后如何添加我的代码 成功调用 KerbInteractiveUnlockLogonPack 和 RetrieveNegotiateAuthPackage 后 我在 GetSerialization 函数中添加代码
  • Javascript 中的内联 `++` 不起作用

    惊讶地发现这样一行 TextBox val parseInt TextBox val 不管用 我做了一些测试 得出的结论是内联 不起作用 在整个 Javascript 中 或者只是在我的示例中 这是一个用三段代码进行测试 http jsfi
  • Python Matplotlib 点颜色

    我一直在研究使用传感器绘制的温度图 并想知道如何构建轮廓 热图或基于 cmap 编辑点的颜色 我有以下非常基本的情节 import matplotlib pyplot as plt import matplotlib image as mp
  • 如何查看Azure应用服务内存使用情况?

    我们通过云服务提供商 CSP 订阅了 Azure 这对我们在 Azure 中获取和查看的内容造成了一些限制 尽管如此 我们还是可以看到每个CPU和内存的使用情况应用服务计划 我们如何才能看到特定的相同内容应用服务根据计划 如果我发现计划的
  • 无法在 Ajax post 请求中创建新的 Django 模型对象

    这是一种 我已经在调试这个问题上损失了 x 小时 的问题 问题 以下 jQuery js 代码在单击按钮时启动 POST 请求 btn create tag click function evt post tag createAjax ta