【问题标题】:How to save model instance in Django through JavaScript in HTML如何通过 HTML 中的 JavaScript 在 Django 中保存模型实例
【发布时间】:2021-06-11 02:47:31
【问题描述】:

我正在构建一个 BlogApp,但遇到了一个问题

我要做什么

我在模型中创建了一个名为user_location 的实例。我在template 中访问它,并编写JavaScript 代码以使用JavaScript 访问User's Location 但我希望我的模型实例将 JavaScript's Output country 保存在数据库中。

问题

我不知道如何通过 JavaScript 保存模型实例。

models.py

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE,default='',unique=True)
    full_name = models.CharField(max_length=100,default='')
    user_location = models.CharField(mac_length=100,default'')

profile.html

<script>

$.ajax({
  url: "https://geolocation-db.com/jsonp",
  jsonpCallback: "callback",
  dataType: "jsonp",
  success: function(location) {
    $('#country').html(location.country_name);
  }
});

</script>


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<div>Country: <span id="country"></span></div>

#This is my model instance.

{{ profile.user_location }}

我尝试了什么

我也试过THIS。但它对我不起作用。

我不知道该怎么办。

任何帮助将不胜感激。

提前致谢。

【问题讨论】:

    标签: javascript html django ajax django-models


    【解决方案1】:

    您可以使用 fetch api from javascript 将来自 javascript 的数据存储在您的模型数据库中,例如 fetch(您的网站路由),您在其中创建了您的表单以进行发布请求。 您可以在您的路线上创建发布请求以保存您的数据库。 Example-url = "您的网站发布请求路由" 参数 = 方法:'发布', 标题: “内容类型”:“应用程序/json”

        body: data
    fetch(url, params).then(response=> response.json())
    .then(data => console.log(data)
    )*/
    

    【讨论】:

    • 你能解释一下干净吗?
    • 哦,我已经粘贴了完整的 javascript 代码,但我不知道为什么代码被破坏了我可以给出建议来阅读 javascript 的 fetch api,或者如果你使用 jQuery ajax,你可以使用发布请求,它将发布你的数据到你的数据库
    • 好的,谢谢,我会在几分钟内尝试
    【解决方案2】:

    使用 Ajax 将您的数据发送到后端,让 django 完成。

    【讨论】:

    • 但是我该怎么做呢?我以前从未使用过ajax将数据保存在db中。
    • 使用Ajax将你的数据发送到django,接收后使用django保存。
    • 但我希望它在没有保存按钮的情况下保存。我的意思是它应该自动保存数据。
    • 什么动作应该触发保存功能?
    猜你喜欢
    • 2018-03-21
    • 1970-01-01
    • 2014-01-27
    • 2018-07-03
    • 2022-01-24
    • 1970-01-01
    • 2015-02-27
    • 2012-04-13
    • 1970-01-01
    相关资源
    最近更新 更多