将javascript变量传递给views.py

时间:2019-10-07 21:09:49

标签: django

在这个问题上,我确实需要一些帮助,这似乎很容易,但是我无法找出问题所在。 我知道使用ajax是将变量从模板传递到视图的最佳方法。 我的工作做得好吗,还是您会建议我尝试一些不同的事情?

# systemctl restart httpd24-httpd.service
or # systemctl reload httpd24-httpd.service

我想获取area变量和convertedData变量并将它们传递给视图。

因此,经过一些搜索和反复试验,这是我尝试使用Ajax进行的操作。 当我运行此程序时,我没有任何错误,但是我的数据库中什么也没有。 template.html

 function updateArea(e) {
var data = draw.getAll();
var answer = document.getElementById('calculated-area');
if (data.features.length > 0) {
var area = turf.area(data);
// restrict to area to 2 decimal points
var rounded_area = Math.round(area*100)/100;
answer.innerHTML = '<p><strong>' + rounded_area + '</strong></p><p>square meters</p>';
var convertedData = 'text/json;charset=utf-8,' + encodeURIComponent(JSON.stringify(data));
document.getElementById('export').setAttribute('href', 'data:' + convertedData);
document.getElementById('export').setAttribute('download','data.geojson');
} else {
answer.innerHTML = '';
if (e.type !== 'draw.delete') alert("Use the draw tools to draw a polygon!");

}
}

urls.py

<form id="areaform" method="POST">
          {% csrf_token %}
          <input type="submit" name="area" value=""/>
        </form>
$(document).on('submit', '#areaform',function(e) {
          e.preventDefault();    
          $.ajax({
            type: 'POST',
            url:'fertisatmap/area',
            data:{
                name: $('#area').val(),
            },
            sucess:function(){}    
          });
    });

views.py

path('fertisatmap/area', fertisat_views.fertisatareaview, name='fertisat-area'),

0 个答案:

没有答案