Django: Update Model Fields Using Ajax Call From Template
I have a model: class ok(models.Model): name = models.CharField(max_length=255) project = models.CharField(max_length=255) story = models.CharField(max_length=500)
Solution 1:
If I understood your problem correctly, in your template, do -
<inputtype="text"onkeyup="get_value()"name="third_value" /><script>functionget_value(){
var val=document.getElementsByName("third_value")[0].value;
var xhr=newXMLHttpRequest();
xhr.open("GET","get_value_url?value="+val,true);
xhr.onreadystatechange=function(){
if(xhr.readyState == 4 && xhr.status == 200){
var res=JSON.parse(xhr.responseText);
// do something with this response like autofill
}
}
xhr.send(null);
}
</script>
Where as your view will look similar to what you already have. Like -
def get(request):
val = request.GET["value"]
# query your db and prepare response datareturn JsonResponse(response)
Of course you would want to set some timeout in your template so that it does not query everytime user presses a button.
Hope this helps.
Post a Comment for "Django: Update Model Fields Using Ajax Call From Template"