django

장고(Django) | 오류 페이지 오류 코드 변경하기
이번에는 오류 페이지를 수정해보자. HTTP의 주요 응답 코드 3개는 다음과 같다. 오류 코드 설명 200 성공 500 서버 오류 404 요청한 페이지를 찾을 수 없음 1. 404 페이지로 바꾸기 지난 글에서 질문 상세 페이지를 만들어보았다. 상세 페이지는 Question의 id를 기준으로 만들어지는데 이때 없는 id 값을 입력하면 다음 화면이 나온다. 위 페이지의 오류 코드는 500이다. 없는 데이터를 요청할 경우 'Not Found (404)' 페이지가 더 바람직하므로 404페이지를 출력하도록 수정해보자. 질문의 상세 페이지 화면을 수정하기 때문에 test_pages/views.py 에서 detail 함수를 수정한다. Question.objects.get(id = question_id) → get_o..

장고(Django) | 페이지에서 모델 조회하기
test_pages 요청 시 등록한 질문들을 조회할 수 있도록 구현해보자. 현재 http://127.0.0.1:8000/test_pages 에 접속 시 다음과 같은 화면이 나타난다. 질문 목록을 보이기 위해서는 views.py 파일에 index 함수를 다음과 같이 변경해야 한다. ① order_by( ) 질문 목록 데이터는 Question.objects.order_by('-create_date) 로 얻을 수 있다. 게시물은 보통 최신순으로 보기 때문에 작성일시의 역순으로 정렬하였다. order_by('속성') : 조회 결과를 지정 속성 기준으로 정렬하는 함수 - 기호 : 있으면 역방향, 없으면 순방향 정렬 ② render( ) render( ) 함수는 인자로 주어진 템플릿과 c..

장고(Django) | 장고 관리자(admin)
앱 생성 시 생성했던 superuser 계정으로 모델을 관리해보자. superuser 계정 생성했던 글은 여기 클릭 ▶ 요약 : python manage.py createsuperuser 입력 후 Username, Email, Password 입력 1. 모델 관리 ① 모델 등록(Question) Question 모델을 관리자에 등록해보자. test_pages/admin.py 파일을 다음처럼 수정하였다. from django.contrib immport admin from .models import Question admin.site.register(Question) 서버 구동 후 http://127.0.0.1:8000/admin 페이지에 접속하면 오른쪽과 같은 화면이 나온다. 이제 관지라 화면에서 Que..

장고(Django) | 모델 사용하기
모델 사용법을 Django shell로 익혀보자. Django Shell 이란 Django 프로젝트 설정이 로딩된 파이썬 쉘 일반 파이썬 쉘을 통해서는 Django 프로젝트 환경에 접근 불가 프로젝트 내의 각종 모듈 패키지를 활용하기 위해 Django Shell을 통해 접근해야 함 Django Shell은 Django에 필요한 환경들이 자동으로 설정되어 실행됨 터미널에 아래 코드를 입력한다. python manage.py shell 1. 생성 ① Question 모델 import from test_pages.models import Question ② Question 모델로 첫 번째 질문 data 생성 from django.utils import timezone creat_data..

장고(Django) | 모델 작성하기
test_pages 앱에 질문과 답변을 할 수 있는 파이썬 게시판 서비스 기능을 부여할 것이다. 따라서 test_pages에는 질문과 답변에 해당하는 model이 있어야 한다. 이번 글에서는 각 model을 작성해보겠다. 1. 모델의 속성 우선 질문과 답변 모델에는 어떤 속성이 필요한지 보자. 질문 모델에 필요한 속성 속성명 설명 subject 질문 제목 content 질문 내용 create_date 질문 작성 일시 답변 모델에 필요한 속성 속성명 설명 question 질문 content 답변 내용 create_date 답변 작성 일시 2. model.py 위에서 생각한 속성을 바탕으로 질문과 답변모델을 test_pages/models.py 파일에 정의한다. from django.db import mod..

장고(Django) | 앱 생성하기
지난 글에서 서버 실행 시 떴던 경고문에 migratsion을 해야한다는 문구가 있었다. 이번 글에서는 migartion을 하고 웹사이트 기초를 만들어보겠다. 1. Migration 마이그레이션은 모델의 변경 내역을 DB 스키마에 적용시키는 것으로 쉽게 말해 modles.py에 정의된 모델의 생성/변경 내역을 히스토리 관리, DB에 적용 등의 기능을 제공하여 DB의 구조를 쉽게 바꾸는 기능이다. ▶ 관련 명령어는 여기 클릭 프로젝트 생성 후 첫 마이그레이션은 DB를 생성한다. python manage.py migrate 위 코드를 입력하면 아래와 같은 문구가 뜬다. 2. 관리자 계정 생성 python manage.py createsuperuser 위 코드 입력 후 터미널에 Username과 Email, ..

장고(Django) | 프로젝트 생성하기
Django 연습은 책 를 참조하였다. Anaconda에 'django'라는 가상환경 생성(python 3.8) 후 진행하였다. 1. Anaconda Home에서 JupyterLab 설치 2. 프로젝트 생성 앞으로의 Project를 저장할 root디렉터리 생성 후 해당 디렉터리로 이동 여기서 root 디렉터리 이름은 django_project 로 지었다. 그 안에 이번 프로젝트를 실행할 폴더를 생성했다. C:\Users\user>mkdir django_project C:\Users\user>cd django_project C:\Users\user\django_project> C:\Users\user\django_project>mkdir test C:\Users\user\django_project>cd t..

장고(Django) | 장고(Django) 개념
장고란? 파이썬으로 작성된 웹 프레임 워크(웹 개발에 필요한 기능이 있는 프레임워크) MTV(Model-Templete-View) 패턴을 사용 프로젝트 생성 시 터미널에 startproject 및 startapp을 입력하면 자동으로 뼈대가 되는 py파일이 생성됨 project = 사이트, app = 기능 이라고 생각하면 된다. 장고의 작동 흐름 1. Web Browser에서 event(url클릭, 데이터 입력 등) 발생 2. Django Server로 event에 대한 요청이 들어옴 3. event에 대해 URL Dispatcher가 URL을 분석하여 적합한 View로 요청을 보냄 4. View는 해당 요청을 Database의 어디에서 어떤 data를 가공할지 Model에게 알림 5. Model은 DB와..

장고(Django) | 파이썬에서 장고(django) 설치하기
기존에 설치해둔 Anaconda에 Django를 설치해보았다. 1. Anaconda에 새 환경을 구축한다. 먼저 Anaconda를 실행시키고 Environments에서 새 환경을 만든다. 2. 터미널에서 Django 설치 방금 생성한 환경의 터미널을 열고 아래 코드를 입력시킨다. pip install django 위 화면서럼 Successfully installed asgiref (이하생략) 이 나오면 성공적으로 설치된 것이다.