是否可以使用来自Django模板的JavaScript生成的文本;加上;模板标签
我使用以下方法在Django模板中生成纬度和经度结果: 我想知道是否可以使用是否可以使用来自Django模板的JavaScript生成的文本;加上;模板标签,javascript,django,python-3.x,django-templates,geodjango,Javascript,Django,Python 3.x,Django Templates,Geodjango,我使用以下方法在Django模板中生成纬度和经度结果: 我想知道是否可以使用{%with…%}template标记,使用JavaScript向django变量发送的结果 下面是我的user.profile模型 class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) age = models.DateField(blank=True, null=
{%with…%}
template标记,使用JavaScript向django变量发送的结果
下面是我的user.profile模型
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
age = models.DateField(blank=True, null=True)
member_since = models.DateTimeField(auto_now_add=True)
profile_image = models.ImageField(default='', blank=True, null=True)
lat = models.FloatField(blank=True, null=True)
lon = models.FloatField(blank=True, null=True)
point = models.PointField(srid=4326, default='SRID=4326;POINT(0.0 0.0)')
objects = models.GeoManager()
您需要创建一个函数,在该函数中,AJAX调用将转到您的一个URL。
在AJAX调用中,您需要发送lat和lon值并将它们保存到数据库中。
在文档/页面加载时调用此AJAX函数 您可以使用AJAX进行POST或GET调用
var element = $("#element-id")
$.ajax({
url : $(element).attr("data-url"),
data : {
"csrfmiddlewaretoken" : $(element).siblings("input[name='csrfmiddlewaretoken']" ).val(),
"alt":lat,
"lon": lon
},
method: "POST",
dataType : "json",
success : function (returned_data) {
// display data
}});
如果您正在发送GET呼叫,请忽略csrf令牌
其中元素是HTML中带有数据url属性的隐藏字段/链接/按钮 您必须使用表单或ajax调用发布它。@NourChawich添加表单的问题是,用户必须添加自己的
lat
lon详细信息,然后单击提交。那不太实际。我将如何准确地使用Ajax调用它可以是一个隐藏的表单,由javascript调用自动填充并使用Ajax提交。你需要检查Django文档如何实现这一点。我正在检查这一点,一旦我验证它的工作,我会添加一个复选标记到你的答案我已经投票了