Django—Form表單綜合應用(部分2)

  • views.py


    from django.shortcuts import render,HttpResponse
    def add_info(req):
     if req.method=='POST':
     Info_form_obj=Info_form(req.POST)
     if Info_form_obj.is_valid():
     
    Info.objects.create(name=Info_form_obj.cleaned_data['name'],
     
    age=Info_form_obj.cleaned_data['age'],
     
    sex=Info_form_obj.cleaned_data['sex'],
     
    birthday=Info_form_obj.cleaned_data['birthday'],
     
    qualification=Info_form_obj.cleaned_data['qualification'],
     job=Info_form_obj.cleaned_data['job']
     )
     return HttpResponse('添加成功!')
     else:
     error_obj=Info_form_obj.errors
     print('***************')
     print(type(error_obj))#<class
    'django.forms.utils.ErrorDict'>
     print(error_obj['name'][0])#必填
     print(error_obj.get('age'))#<ul class="errorlist"><li>必 填</li></ul>
     return render(req,'add_info.html',
    {'form_obj':Info_form_obj,'error_obj':error_obj})
     Info_form_obj=Info_form()
     return render(req,'add_info.html',{'form_obj':Info_form_obj})
  • html


    <!DOCTYPE html>
    <html lang="en"> <head>
     <meta charset="UTF-8">
     <title>添加個⼈信息</title>
     <style>
     .formset{
     color: rebeccapurple;
     border: dashed cadetblue;
     }
     </style>
    </head> <body>
     <form action="{% url 'add_info' %}" method="post">
     <p>姓名{{ form_obj.name }}{{ error_obj.name.0 }}</p>
     <p>年齡{{ form_obj.age }}{{ error_obj.age.0 }}</p>
     <p>⽣⽇{{ form_obj.birthday }}{{ error_obj.birthday.0 }}</p>
     <p>⼯作{{ form_obj.job }}<span>{{ error_obj.job }}</span>
    </p>
     <p>學歷{{ form_obj.qualification }}<span>{{
    error_obj.qualification }}</span></p>
     <p>性別{{ form_obj.sex }}<span>{{ error_obj.sex }}</span>
    </p>
     <p>郵箱{{ form_obj.email }}<span>{{ error_obj.email }}
    </span></p>
     <p>愛好{{ form_obj.hobby }}<span>{{ error_obj.hobby }}
    </span></p>
     {{ form_obj.as_p }}
     <input type="submit" value="提交"><br>
     {% csrf_token %}
     </form>
    </body>
    </html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章