본문으로 바로가기

WIL | 파이썬 심화 복습 | 장고 복습 | 프로젝트 끝

category TIL 2022. 10. 9. 12:18

팀프로젝트를 마무리했다. 노력은 했지만 내가 생각한 만큼 팀에 도움이 되지 않아 답답했다. 그래도 끝까지 할 일을 찾으려고 노력했고 마지막에 회원정보 수정과 비밀번호 변경을 만들면서 팀에 자그만한 보탬이 되었다. 이번 프로젝트로 팀이 얼마나 중요한지 내가 어떻게 해야하는지 알게되었다. 원래 생각한 대로 팀에서 내가 뭔가 할 수 있으려면 내 실력이 괜찮아야 했다. 기본도 이해하지 못한 상황이였고 아무것도 하지 못하고 초조하게 시간만 보내게되는 일이 많았다. 지금은 실력을 늘리기위해 노력하고 부족한 부분을 채울 시간이라고 생각한다. 주말에 장고를 복습하고 다음주에는 머신러닝과 파이썬 장고를 골고루 공부하면서 다음 프로젝트에서 뭔가를 책임질 수 있는 실력을 갖도록 노력 할 것이다.

 

Error: That port is already in use.

서버를 완전히 닫지않고 다시 서버를 실행했을 때 발생하는 오류 서버를 완전히 종료시키고 다시 runserver한다.

 

form 태그 바로 밑에 {% csrf_token %}  태그를 항상 위치시켜야 한다.

POST 요청시 form 태그에 csrf_token이 없으면 장고는 오류를 낸다.

 

특정글로 들어가려면 특정값이 있어야한다

특정값 uri를 나타내는 id를 정하겠다. 그걸 int 라고 하겠다 정한거다.

 

views.py

URL매핑 규칙에 의해 실행되는 views.detail 함수를 만든다.

def detail(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    context = {'question': question}
    return render(request, 'pybo/question_detail.html', context)

detail호출시 전달되는 매개변수 question_id가 추가되었는데 여기에는 URL매핑시 저장된 question_id가 전달된다.

즉 2페이지가 요청되면 2가 세팅되어 detail함수가 실행된다.

 

PK(Primary Key) = 모델의 유일한 값 = id

 

get vs filtert

get으로 조회하면 쿼리셋이 아닌 모델 객체가 리턴된다.

filter는 조건에 해당되는 데이터를 모두 리턴하며 쿼리셋이 리턴된다고 할 수 있다.