Можно ли таким образом обратиться к button?
Можно ли так обратиться к определенной кнопке на странице HTML и продиктовать ей определенные действия?
views.py
if request.method == 'POST':
if request.POST.get('abc'):
......
if request.POST.get('bbc'):
.....
html
<form action="{% url 'new_channel' %}" method = "post">
{% csrf_token %}
<button name="abc" type="submit"></button>
.......
<button name="bbc" type="submit"></button>
</form>
Заранее спасибо.
Ответы (1 шт):
Автор решения: Vadim.Sharoikin
→ Ссылка
Можно с помощью ajax. создаём наш ajax, который будет отсылает запрос на сервер по указанному URL при нажатии на кнопку( class="mybutton") и получать от него ответ в success: function(data){...}, ответ будет виден в консоли браузера.
let data = {}
$('.mybutton').on('click', function(e){
data['action'] = 'some_result';
SendAjax();
});
function SendAjax(){
$.ajax({
url: 'url_обработчика_функции ',
method: 'POST',
data: data,
cached: true,
success: function(data){
console.log(data);
},
error: function(e){
console.log(e);
}
})
}
})
views.py
from django.views.generic import View
from django.http import JsonResponse
class MyAction(View):
def post(self, *args, **kwargs):
data = {}
# Получаем данные из запроса
action = self.request.POST.get('action')
# Проверяем что значение соответствует ожидаемому
# и возвращаем значение(в данном случае 1)
if action == 'some_result':
data['result'] = 1
else:
data['result'] = 'Error'
return JsonResponse(data)
ну и сама кнопка
<input type="submit" class="mybutton" value="получить что-то">
так же со второй кнопкой. Потом результат выводить на страницу