行。我只是试着在Django中创建一个表单,我可以使用它来输入有关新记录的数据或更新现有记录。
如果有这个模型,任何人都可以在我的表单,视图和网址中勾画出正确的内容吗? :
class Person(models.Model) :
name = models.CharField()
age = models.IntegerField()
在另一个页面中,我想要一个表单链接,该表单允许我创建一个人的新实例或编辑现有实例。
我感到困惑的是:
我在urls.py上需要两个不同的行,一个链接到空白表单,当我传递id时不传递id和一个链接到表单?
我是否需要两个不同的视图,一个用于在保存实例之前接收表单,另一个用于实例存在?
我确信我已经在views.py中使用一个链接和一个函数完成了这项工作,但我似乎无法再将其完成了。什么似乎不起作用是尝试发送ID为
的网址 /edit/id
且没有
/edit/
到具有id
的默认参数的相同视图函数 def edit(request,id=0) :
blah
那么正确的方式是做什么的?
干杯。菲尔
答案 0 :(得分:3)
设置你的urls.py以捕获id变量(如果包含在url中),然后在views.py中检查null。
你的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