[ad_1]
to start with what I want/need:
when I click a button on the frontend, it registers the JSON it output to my database.
I have a function in my template that outputs JSON as a string on click on my template.
<script>
const form = document.getElementById("myValue").addEventListener("click", myFunction);
function myFunction() {
let myValues = {
"posX": pos.x,
"posY": pos.y,
"posZ": pos.z,
"anAZ": anAZ,
"anPo": anPo,
}
var myJSON = JSON.stringify(myValues)
console.log(myJSON)
console.log(typeof(myJSON));
// Console outputs the values.
$.ajax({
type: 'POST',
data: $('#form').serialize(),
dataType: 'json',
success: function(data) {
if (data.msg === 'Success') {
alert('Values are Saved')
}
}
})
}
and on the template.html:
<button id="myValue">Save Values<form id="form" method="post">{% csrf_token %} </button>
on models.py:
class myJSON(models.Model)
myValue = models.JSONField(default=dict, null=True)
form.py:
class myValuesForm(ModelForm):
class Meta:
model = myJSON
fields = [
"myValue"
]
on views.py
def myVal(request, pk):
values = myJSON.objects.get(id=pk)
if request.is_ajax():
form = myValuesForm(request.POST)
if form.is_valid():
form.save
return JsonResponse({
'msg': 'Success'
})
I’m not sure what’s wrong and why it’s not writing the data.
I don’t receive any error in terminal.
a help in this will be great..
[ad_2]