I want to use Svelte in the front-end and DRF (Django) in the back-end.
This is what I have right now:
#models.py
class Student(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
# serializers.py
class StudentSerializer(serializers.ModelSerializer):
class Meta:
model = Student
fields = "__all__"
But when I know want to create a form in the front-end (Svelte) I have to manually do that? Is there a way of requesting a json with all the required fields and the to build a form around it.
Like first I request api.com/students/form
which returns a json:
{
"fields":[
"first_name",
"last_name"
]
}
And then I could just iterate over the fields in "fields"
and create <input>
tags for the form accordingly.
For your endpoint api.com/students/form
you can create a view like this:
from django.http import JsonResponse
@api_view(['GET'])
def get_form(request):
fields = ["first_name","last_name"]
return JsonResponse({"fields": fields})
You have to include all the fields you want on your fields
array, or if you want all the fields of the model you can get them like this model._meta.fields
or model._meta.get_fields()
You can do this by accessing metadata of the url, simply send OPTIONS
request to the endpoint as suggested in documentation
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.