2009-03-04 35 views
1

OK。我只是将自己绑在一个试图在Django中创建表单的结中,我可以使用它来输入有关新记录的数据或更新现有的记录。Newbie Django问题:用表单创建并更新

任何人都可以勾画出正确的东西,我应该有我的形式,意见和网址,如果有这种模式? :

class Person(models.Model) : 
    name = models.CharField() 
    age = models.IntegerField() 

在另一页我想​​要一个表单的链接,让我创建一个人的新实例或编辑一个现有的表单。

事情我越来越迷茫了:

  • ,我需要在urls.py两个不同的线路,一个链接到空白表单,不及格的ID和一个链接到形式当我通过身份证?

  • 我是否需要两种不同的视图,一种是在实例保存前接收表单,另一种是在实例存在的时候接收表单?

我确定我已经在views.py中看到了一个链接和一个函数,但我似乎无法再正确地做到这一点。什么似乎并没有工作,试图用ID与缺省参数同时发送的网址

/edit/id 

,并没有

/edit/ 

到了同样的观点功能ID

def edit(request,id=0) : 
    blah 

那么这样做的方法是什么?

干杯。菲尔

回答

3

设置你的urls.py捕捉id变量,如果包含在URL,然后在views.py检查空

你的urls.py会是这个样子:

(r'^edit/(?P<person_id>\w+)/$', 'mysite.myapp.views.edit_person'), 

然后,在你的views.py:

def edit_person(person_id=None): 
    if(person_id): #show populated form 
    else: # show empty form 
+0

谢谢,这听起来像我一直在寻找 – interstar 2009-03-04 20:08:25