У меня есть это form
в index.html
и две кнопки отправки при нажатии на одну кнопку с именем .graph-btn
Я использую jquery и ajax для отправки данных с form
на Django.
Код: index.html
<form action="{% url 'Graph' %}" method="post">
{% csrf_token %}
<table class="table table-striped table-dark" cellspacing="0">
<thead class="bg-info">
<tr>
<th>Company's Symbol</th>
<th>Current Price</th>
<th>View Current chart</th>
<th>Action</th>
</tr>
</thead>
<tbody>
{% for a,b in stocks %}
<tr>
<th scope="row" class="comp_name">{{ a }}</th>
<td>{{ b }}</td>
<td>
<input type="submit" class="btn graph-btn" name="_graph" value="View Graph">
</td>
<td>
<input type="submit" class="btn predict-btn" formaction="{% url 'Graph' %}" name="_predict" value="Predict Closing Price">
</td>
</tr>
{% endfor %}
</tbody>
</table>
</form>
<script>
$(".graph-btn").click(function(e) {
var $row = $(this).closest("tr");
var $text = $row.find(".comp_name").text();
var name = $text;
console.log(name);
$.ajax({
type:'POST',
dataType: "json",
url:'{% url 'Graph' %}',
data:{
'text': name,
'csrfmiddlewaretoken':$('input[name=csrfmiddlewaretoken]').val(),
},
success:function(json){
},
error : function(xhr,errmsg,err) {
}
});
});
</script>
здесь я хочу взять данные из th
строки с именем .comp_name
и передать данные в views.py в Django. Проблема: Ajax.
views.py
def graph(request):
if request.method == 'POST':
print("testing....")
print(request.body)
print(request.POST.get('text'))
name = request.POST.get('text')
context = {
'name': name,
}
print(context)
return render(request, 'StockPrediction/chart.html')
else:
return render(request, 'StockPrediction/greet.html')
Я использую инструкцию Print, чтобы проверить, все ли в порядке. проблема заключается в том, что когда я нажимаю на .graph-btn
, он выдает мне два повторяющихся значения. Первый правильный, а второй - None
. здесь
Помогите, пожалуйста.