Django是一個十分流行的Web框架,它提供了快速創建Web應用的能力。本文將介紹如何使用Django表單存儲數據到JSON格式文件中。
在Django中,我們可以使用form和modelForm來處理表單。其中,modelForm會根據數據庫的模型來自動生成表單。
第一步,我們需要創建一個model,例如:
class Person(models.Model): name = models.CharField(max_length=20) age = models.IntegerField()
然后,我們需要創建一個modelForm,這里我們直接使用Django自帶的ModelForm:
class PersonForm(forms.ModelForm): class Meta: model = Person fields = ('name', 'age')
接下來,我們需要在視圖中處理表單數據,并將其存儲到JSON文件中:
from django.shortcuts import render from django.http import JsonResponse def save_person(request): if request.method == 'POST': form = PersonForm(request.POST) if form.is_valid(): data = {'name': form.cleaned_data['name'], 'age': form.cleaned_data['age']} with open('person.json', 'w') as f: json.dump(data, f) return JsonResponse({'success': True}) else: return JsonResponse({'success': False}) else: form = PersonForm() return render(request, 'person_form.html', {'form': form})
以上代碼中,我們首先判斷請求方法是否為POST,如果是,則先驗證表單數據是否合法。如果表單數據合法,將其轉為字典類型,并打開JSON文件寫入數據。否則,則返回失敗信息。
最后,在模板中使用表單控件來渲染表單,例子如下:
<form method="post" id="person-form" > {% csrf_token %} {{ form.as_p }} <button type="submit">提交</button> </form>
在表單提交完成后,我們就可以在文件中看到存儲的JSON數據了。