[英]How to pass Serizalizer Fields to front-end Framework from RESTful API - DRF (Django)?
我想在前端使用 Svelte,在后端使用 DRF (Django)。
這就是我現在所擁有的:
#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__"
但是當我知道要在前端(Svelte)創建一個表單時,我必須手動這樣做嗎? 有沒有一種方法可以請求包含所有必填字段的 json 並圍繞它構建一個表單。
就像我首先請求api.com/students/form
一樣,它返回一個 json:
{
"fields":[
"first_name",
"last_name"
]
}
然后我可以遍歷"fields"
中的字段並相應地為表單創建<input>
標簽。
對於您的端點api.com/students/form
,您可以創建如下視圖:
from django.http import JsonResponse
@api_view(['GET'])
def get_form(request):
fields = ["first_name","last_name"]
return JsonResponse({"fields": fields})
您必須在fields
數組中包含所需的所有字段,或者如果您想要 model 的所有字段,您可以像這樣獲得它們model._meta.fields
或model._meta.get_fields()
您可以通過訪問 url 的元數據來執行此操作,只需按照文檔中的建議將OPTIONS
請求發送到端點
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.