[Django] 뉴비의 공부일지

손성수·2023년 4월 5일
0

Django

목록 보기
6/17

Django

  • Django?
    웹 프레임 워크, 필요한 페이지 (html1,html2,html3)를 일일히 만드는 것이 아닌
    동적으로 개인화된 페이지를 그때 그때 찍어내는 '공장'과 같은 효율성이 있다.
    유지보수와 동적인 제어가 뛰어나다



  • ORM?
    데이터베이스를 관리하는 SQL문법을 Python의 클래스의 오브젝트(객체)로 관리한다.

예시) 데이터베이스의 user필드에, 한국 국적을 가진사람 뽑아오기

 - sql
SELECT * FROM User WHERE nationality = 'korea';
- Dajngo
from app.models import User
korean_users = User.objects.filter(nationality='korea')



  • Model, View, Template 개념을 설명하고 장고의 프로젝트 구조의 어디에 해당하는 얘기할 수 있다.
  • Model
    • 데이터베이스의 테이블을 나타내는 Python의 클래스
    • ORM을 이용하여 SQL문법을 익히지 않아도 Python 문법을 통해
      데이터베이스의 필드를 제어 할 수 있다.
  • View
    • HTTP 요청을 받고, 처리하며 반환한다.
    • app의 동작, 기능을 제어하하는데
      Model을 조작하여 데이터베이스의 필드의 데이터를 가공하고
      적절한 템플릿을 사용자에게 반환한다.
  • Template
    • 사용자에게 보여질 HTML,CSS,JavaScript파일을 관리하는 폴더
    • 템플릿 문법을 통해 동적인 제어도 가능하다.



  • 장고에서 데이터베이스 makemigrations와 migrate의 의미를 이해한다.

makemigrations
콘솔 명령어, Model,App등의 생성,수정 사항을 Django에게 알린다.

python manage.py makemigrations

migrate
콘솔 명령어, 변경된 사실을 데이터베이스에 적용한다.

python manage.py migrate



  • views.py의 render와 redirect의 차이를 설명할 수 있다.
  • render
    • 어떠한 기능에 수정되거나 생성된 html을 사용자에게 출력할때에 적절한 메소드
from django.shortcuts import render

def home(request):
    user_info = {'name': 'son', 'age': 29}
    return render(request, 'home.html', user_info)
  • redirect
    • 사용자에개 어떠한 경로의 url을 안내하기에 적절한 메소드
from django.shortcuts import redirect

def redirect_view(request):
    return redirect('/home/')



체크리스트

  • 1:1, 1:M, M:M이 무엇인지 알고 ERD로 설명할 수 있다(어려우니 여러번 복습!).
  • 장고 어드민페이지에서 모델을 조작할 수 있다.
  • 회원가입 기능을 만들 수 있다.
  • 로그인 기능을 만들 수 있다.
  • 기능에 따라 HTTP의 메소드를 결정할 수 있다.
  • Url과 View, Template을 연결할 수 있다.
  • 글쓰기 기능을 만들 수 있다.
  • 로그아웃 기능을 만들 수 있다.
profile
더 노력하겠습니다

0개의 댓글

관련 채용 정보