본문 바로가기

개인 공부/개발16

부트스트랩과 html 보호되어 있는 글 입니다. 2021. 8. 8.
장고 데이터 저장과 스타일 시트 답변등록 폼 질문 상세 템플릿에 다음처럼 답변을 저장할 수 있는 폼을 추가하자. {{ question.subject }} {{ question.content }} {% csrf_token %} php 와 유사해보인다. 포스트 방식으로 textarea의 내용을 제출하게 된다. 답변의 내용을 입력할 수 있는 텍스트창과 답변을 저장 할 수 있는 "답변등록" 버튼을 추가했다. 답변 저장을 위한 URL은 form 태그의 action 속성에 {% url 'pybo:answer_create' question.id %}로 지정했다. form 태그 바로 밑에 보이는 {% csrf_token %}은 보안에 관련된 항목으로 form으로 전송한 데이터가 실제 웹 페이지에서 작성한 데이터인지를 판단해 주는 가늠자 역할을 한다... 2021. 8. 5.
장고 URL과 네임스페이스 이번 포스팅에서는 템플릿에서 사용된 URL의 하드코딩을 없애는 방법에 대해서 알아보자. URL 하드 코딩 먼저 question_list.html 템플릿에 사용된 다음 링크를 보자. {{ question.subject }} 이전에 작성한 question_list 의 템플릿 파일에 작성된 내용 중 일부이다. 하지만 URL은 프로그램을 보완하고 개발하는 과정에서 수정될 가능성이 크다. 예를 들어서 pybo/question/2 또는 pybo/2/question 처럼 바뀔 수 있기 때문 이러한 문제를 해결하기 위해서 URL에 대한 실제 링크 대신 링크의 주소가 매핑되어 있는 별칭을 사용해야함 URL 별칭 링크의 주소 대신 별칭을 사용하기 위해서는 URL 매핑에 name 속성을 부여해야한다 urls.py 파일로 가.. 2021. 8. 4.
장고 조회와 템플릿 질문 목록 앞서 생성한 Question 모델의 객체들을 조회하는 게시판을 구현해보자. 현재는 위와 같이 "안녕하세요 지금은 django 실습 중입니다." 라는 문자열이 등장한다. 위 코드에서는 단순히 url에 대한 응답으로 문자열을 반환해주고 있다. 우리는 Question 모델의 객체들에 대한 정보를 화면에 출력해야하므로 수정이 필요하다 view.py를 위와 같이 수정해준다. 우리는 pybo 앱에서 생성한 Question 모델의 객체들을 화면에 출력하기 위해서 객체 리스트를 가져와야한다. Question.objects.order_by('-create_date')는 Question 객체들을 생성날짜의 역순으로 정렬해서 리스트로 가져오는 것이다 render 함수는 파이썬 데이터를 템플릿에 적용해서, HTML.. 2021. 8. 4.