добавьте эту функцию к вашим views.py
from django.http import HttpResponse
@api_view(["GET" , "POST"])
def demo(request):
buttonId=request.GET.get('button-id',None)
return HttpResponse(json.dumps({"result":"you have clicked the button"+buttonId}))
Здесь buttonId
будет упомянутым идентификатором кнопки ...
, затем добавьте это в свой urls.py
from django.urls import re_path
#import views.py file as view
urlpatterns = [
re_path(r'^demo$', view.demo,name='demo'),
]
Теперь, вы можете вызвать эту функцию, используя AJAX в вашем коде JavaScript, таким образом, вы получите ответ, который можно обновить в <div id="parent1">
следующим образом:
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script>
$.ajax({
url: '/demo',
data: JSON.stringify({'button-id':'demo-button'}),
dataType: 'json',
contentType: "application/json",
success: function (data) {
console.log(data['result'])
}
});
</script>
Здесь,вы передаете объект JSON {'button-id':'demo-button'}
в запросе, где demo-button
- это идентификатор вашей кнопки.и вы получите ответ в виде JSON {"result":"you have clicked the demo-button"}
, в котором вы можете получить значение, вызвав data['result']
.
. Вы можете заменить console.log(data['result']
своими собственными функциями
Обратите внимание: вам следует изменитьВаш <a>
тег ... вместо этого вы можете использовать <button>
с onClick
слушателем событий .. как
<div><div><div><div><button id="some_id" onClick="myFunc(this.id);">Button</button></div></div></div></div>
, где myFunc()
- это ...
function myFunc(id){
$.ajax({
url: '/demo',
data: JSON.stringify({'button-id':id}),
dataType: 'json',
contentType: "application/json",
success: function (data) {
console.log(data['result'])
}
});
}