Django form表單修改數據


form:

#!/usr/bin/env python
#coding:utf8
 
from django.forms import Form,ModelForm
import models
 
class CourseModelForm(ModelForm):
    class Meta:
        model = models.Course
        exclude = ()
 
    def __init__(self,*args,**kwargs):
        super(CourseModelForm,self).__init__(*args,**kwargs)
 
        for fieldname in self.base_fields:  #循環給所有字段加樣式
            field = self.base_fields[fieldname]
            field.widget.attrs.update({'class':'form-control'})

后端:

def mod_course(request,customer_id):
    print("進入修改課程")
    course_obj = Course.objects.get(id=customer_id)
    if request.method == 'POST':#使用form做數據修改
        form = forms.CourseModelForm(request.POST,instance=course_obj)#獲取POST修改后的數據
        if form.is_valid():#判斷是否滿足form條件
            form.save()
        return redirect('/course/')
    print("customer_ID===========>",customer_id)
    print(course_obj)
    form = forms.CourseModelForm(instance=course_obj)
    return render(request,'course_mod.html',{'course_form':form})

前端:

{% extends 'index.html' %}
{% block head-menu %}
    <h2 style="margin-left: 5%">Course modified</h2>
        <form class="form-horizontal" action="" method="post">
            {% for field in course_form %}
                  <div class="form-group">
                    <label class="col-sm-2 control-label">{{ field.label }}</label>
                    <div class="col-sm-10">
                        {{ field }}
                    </div>
                  </div>
            {% endfor %}
        <input style="margin-left: 50%" class="btn btn-primary btn-rg active" type="submit" value="提交"/>
        </form>
{% endblock %}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM