초보자 django 질문 : 만들고 업데이트하기위한 양식에 미치게됩니다.

StackOverflow https://stackoverflow.com/questions/611575

  •  03-07-2019
  •  | 
  •  

문제

확인. 방금 새로운 레코드에 대한 데이터를 입력하거나 기존 레코드를 업데이트하는 데 사용할 수있는 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

그래서 뭐야 오른쪽 이것을하는 방법?

건배. 필

도움이 되었습니까?

해결책

URL에 포함 된 경우 ID 변수를 캡처하려면 urls.py를 설정 한 다음 views.py에서 null을 확인하십시오.

urls.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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top