초보자 django 질문 : 만들고 업데이트하기위한 양식에 미치게됩니다.
문제
확인. 방금 새로운 레코드에 대한 데이터를 입력하거나 기존 레코드를 업데이트하는 데 사용할 수있는 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
제휴하지 않습니다 StackOverflow