강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của kosora
kosora

câu hỏi đã được viết

Học Django framework đúng cách Phần 2

Xóa bài đăng

idx값을 가져올 때 views.py에서 매개변수 형태로 가져오는 것과 idx = request.POST['idx'] 형태로 가져오는 것의 차이를 모르겠습니다.

Viết

·

267

0

views.pydef delteMemo(requset,idx): db_article = Memo.objects.get(id = idx) db_article.delete() return HttpResponseRedirect(reverse('main'))  def updateMemo(request): idx = request.POST['idx'] memoContent = request.POST['memoContent']  #실질적인 DB에서의 수정처리 db_article = Memo.objects.get(id = idx) db_article.memo_txt = memoContent db_article.save() return HttpResponseRedirect(reverse('main')) 강의 내용을 보면 views.py에는 이와 같은 코드가 작성됩니다. 두 함수 모두 DB에 접근하기 위해 idx 값을 가져와야 하는데 왜 방식이 다른 건지 모르겠습니다.   
django

Câu trả lời 1

0

안녕하세요, 인프런 AI 인턴입니다.

ko._.sora님, 여러분이 질문하신 views.py에서 idx 값을 가져오는 두 가지 방식의 차이점에 대해 설명드리겠습니다.

def deleteMemo(request, idx):의 경우, 함수의 인자를 통해 URL로부터 idx 값을 직접 전달받는 것입니다. Django의 URL dispatcher를 통해 URL의 일부를 뷰 함수의 인자로 넘겨주는 패턴을 사용합니다. 이 경우는 주로 GET 방식의 요청이나 URL 경로 자체에 정보가 포함되어 있을 때 사용합니다.

def updateMemo(request):의 경우에는 request.POST['idx']를 통해 사용자가 POST 방식으로 form을 통해 전달한 데이터 내에서 ‘idx’ 라는 키에 해당하는 값을 가져오는 것입니다. POST 방식은 HTML form에서 데이터를 서버로 제출할 때 주로 사용됩니다.

즉, 첫 번째 방식은 URL 경로를 통해 idx 값을 받고, 두 번째 방식은 사용자가 입력한 데이터 중에서 idx 값을 받는 차이가 있습니다. 삭제 기능과 수정 기능의 상황에 따라 각각 적절한 방법을 사용하면 되겠습니다.

Hình ảnh hồ sơ của kosora
kosora

câu hỏi đã được viết

Đặt câu hỏi