从Django应用程序中的Python下拉列表中获取输入
我在这个问题上纠缠了几个星期,因为我不太熟悉如何设置ajax。我正在开发一个Django应用程序,它基本上是一个有下拉菜单的页面。我想得到用户从下拉菜单中选择的任何内容,并将该数据传递到my views.py,以便我可以使用该信息显示图形。现在图形部分正在工作(我可以将硬编码数据传递到其中,它将生成图形),我的下拉列表也在工作。但是,我不知道如何从下拉列表中获取数据到my views.py。这是它的样子 Display.html从Django应用程序中的Python下拉列表中获取输入,python,django,Python,Django,我在这个问题上纠缠了几个星期,因为我不太熟悉如何设置ajax。我正在开发一个Django应用程序,它基本上是一个有下拉菜单的页面。我想得到用户从下拉菜单中选择的任何内容,并将该数据传递到my views.py,以便我可以使用该信息显示图形。现在图形部分正在工作(我可以将硬编码数据传递到其中,它将生成图形),我的下拉列表也在工作。但是,我不知道如何从下拉列表中获取数据到my views.py。这是它的样子 Display.html {% extends "RecordEvent/nav.html"
{% extends "RecordEvent/nav.html" %}
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script>
</head>
{% block content %}
<div class="row">
<div class="padded">
<div class="download-header">
<h3>Logs</h3>
<div class="row inline download-header">
<div class="col-lg-6">
<div class="dropdown padding col-lg-6">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span id="dropdownTitle" class="">Measurable</span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
{% include 'RecordEvent/includes/EntryDropdown.html' %}
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class='padded'>
<div class='col-sm-12' url-endpoint='{% url "api-data" %}'>
<h1>Graph Data</h1>
<canvas id="myChart" width="400" height="400"></canvas>
</div>
</div>
<script>
{% block jquery %}
var endpoint = 'display/api/chart/data/'
var defaultData = []
var defaultLabels = [];
$.ajax({
method: "GET",
url: endpoint,
success: function(data){
defaultLabels = data.labels
defaultData = data.default
console.log(data)
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: defaultLabels,
datasets: [{
label: '# Measurable',
data: defaultData,
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero:true
}
}]
}
}
});
},
error: function(error_data){
console.log("error")
console.log(error_data)
}
})
{% endblock %}
</script>
{% endblock %}
我需要从下拉列表中获取值,并将其放入注释中,其中的注释表示从下拉列表中获取值
我该怎么做?通过表单发布
<form method='post' action = 'api url'>
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
{% include 'RecordEvent/includes/EntryDropdown.html' %}
</ul>
</form>
通过ajax发布
$('ul li').click(function(){
$.ajax({
url: <api url>,
type:'post',
data:{<name>:$(this).html()},
})
$('ulli')。单击(函数(){
$.ajax({
网址:,
类型:'post',
数据:{:$(this.html()},
})
如何将表单提交给API这正是我遇到的问题,因为我不知道如何进行POST。现在只是显示表单。@Rheado您想通过ajax刷新页面或POST吗?每当用户从下拉列表中选择内容时,我都想将该值发送到views.py.For request.POST[]我是在python中传入变量名还是在html中传入表单名?ajax代码在表单后面的哪个位置?ajax代码在{%block jquery%}
中与您在ajax数据中给出的名称相同:{}
request.post[<name>]
$('ul li').click(function(){
$.ajax({
url: <api url>,
type:'post',
data:{<name>:$(this).html()},
})