django頁面form添加和編輯

如今要實現一個form的添加和編輯,就是說對一個數據庫表的操做html

1. 聲明一個跟數據表關聯的 form實體數據庫

class LogForm(ModelForm):
      class Meta:
    model = app.models.ChangeLog
    fields = '__all__'app

 

2. 定義好路由規則,參數名稱爲id函數

/logurl

/log/1orm

/log/12htm

url(r'^log(/(?P<id>\d{1,}))?$', app.views.log, name='log'),對象

 

3.實現視圖函數路由

def log(request,id=0):
    assert isinstance(request, HttpRequest)
    if request.method == 'POST':
        form = app.forms.LogForm(request.POST)
        if form.is_valid():
            id = form.data['id']
            if id:
                model = app.models.ChangeLog.objects.get(id=id)
            else:
                model = app.models.ChangeLog()
            model.serial_number = form.cleaned_data['serial_number']
            model.name = form.cleaned_data['name']
            model.type = form.cleaned_data['type']
            model.remark = form.cleaned_data['remark']
            model.save()            
        id = 0
    else:
        if id:
            form = app.forms.LogForm(instance = app.models.ChangeLog.objects.get(id=id))
        else:
            form = app.forms.LogForm()
    return render(request,'app/log.html',{
            'title': '變動記錄',
            'form': form, #得到表單對象
            'data':app.models.ChangeLog.objects.all(),
            'id': id
            })rem

 

4. 注意模版 id值的存放

<input type="hidden" id="id" name="id" value="{{ id }}" />

 

備註:留意包的導入

相關文章
相關標籤/搜索