Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
新手Django问题:疯狂地创建和更新表单_Django_Crud - Fatal编程技术网

新手Django问题:疯狂地创建和更新表单

新手Django问题:疯狂地创建和更新表单,django,crud,Django,Crud,嗯。我只是想在Django中创建一个表单,我可以用它输入新记录的数据或更新现有记录 如果有这个模型,有人能在我的表单、视图和URL中勾勒出正确的东西吗 class Person(models.Model) : name = models.CharField() age = models.IntegerField() 在另一个页面中,我需要一个表单链接,该表单允许我创建一个新的个人实例或编辑现有的个人实例 让我感到困惑的是: 我在URLS.PY上需要两个不同的行,一个是链接到空白表单,

嗯。我只是想在Django中创建一个表单,我可以用它输入新记录的数据或更新现有记录

如果有这个模型,有人能在我的表单、视图和URL中勾勒出正确的东西吗

class Person(models.Model) :
  name = models.CharField()
  age = models.IntegerField()
在另一个页面中,我需要一个表单链接,该表单允许我创建一个新的个人实例或编辑现有的个人实例

让我感到困惑的是:

    我在URLS.PY上需要两个不同的行,一个是链接到空白表单,一个是ID,一个是在传递ID时链接到表单(

    )。
  • 我是否需要两个不同的视图,一个用于在保存实例之前接收表单,另一个用于在实例存在时接收表单

我确信我已经在views.py中看到了一个链接和一个函数,但是我似乎再也不能正确使用它了。似乎不起作用的是尝试发送两个带有id的url

  /edit/id
没有

  /edit/ 
使用id的默认参数访问同一视图函数

 def edit(request,id=0) :
    blah
那么正确的方法是什么呢


干杯。phil

设置url.py以捕获url中包含的id变量,然后在views.py中检查null

您的URL.py可能如下所示:

(r'^edit/(?P<person_id>\w+)/$', 'mysite.myapp.views.edit_person'),
def edit_person(person_id=None):
    if(person_id): #show populated form
    else: # show empty form