Есть ли простой способ обновить данные формы, созданной с помощью django-forms?
я довольно новичок в django и пытаюсь вывести форму django и обновить ее содержимое с помощью ajax запроса к API.
Итак, у меня получилась такая форма:
from django import forms
from models import ExampleModel
class ExampleForm(forms.ModelForm):
name=forms.CharField()
comment=forms.CharField(widget=forms.Textarea())
class Meta:
model = ExampleModel
fields=("name","comment")
получил мои данные из API следующим образом:
from forms import ExampleForm
from models import ExampleModel
def apiGetExampleData(request,name):
data=ExampleModel.objects.filter(name=name).values(*getFormFields(ExampleForm()))
#if there is a better way to get the data, would be thankful to know :)
JsonResponse(data[0])
def getFormFields(form):
output=[]
for element in form:
output+=[element.name]
return output
Теперь у меня есть форма (которая прекрасно отображается), и способ получения данных. Итак, есть ли какой-то предопределенный способ применить данные в формате json к форме в Javascript?
Я решил эту проблему следующим образом:
$.ajax({
...
success: function(data) {
Object.entries(obj).forEach(([key, value]) => {
$(`#exampleform [name=${key}]`).val(value);
});
}
});
Если кто-то знает лучший способ, дайте мне знать!