본문 바로가기

코딩일기정리

[21.03.08]Django_기본개념(MTV, 명령어, 구조)

2021-03-08

* DJANGO

  1. Django 시작이다!!

    • 몇가지 필요 내용 정리

      • Django는 server 쪽에서 활용하는 웹 프레임 워크이다.

      • MTV(Model Template View) <<<>>> 다른 거 MVC(Model View Controller) java spring

        1. M : 데이터 베이스 관리
        2. T : 레이아웃( 화면 )
        3. V : 중심 컨트롤러( 심장 )
      • 몇가지 터미널 명령어

        $ django-admin startproject (프로젝트 이름) >>> 새로운 프로젝트 생성
        $ python manage.py startapp (앱 이름) >> 앱 생성
        $ python manage.py runserver >> 서버 시작
      • 오늘은 urls.py / views.py / templates.html 이렇게 3개에 손을 대어 작동시켜보았다.

        1. urls.py : 각각 url 요청에 따라 어떤 동작을 해야할지 경로를 기록해둠
        2. views.py : 실제 함수, 코드가 작성된 곳으로 수행해야할 동작이 작성됨
        3. template : html,css 형식으로 보여줄 화면을 작성
      • model은 무엇일까?? database 관련이라는데 다음 시간에 배워보자!!!

      • Template 추가 사항!
        : 데이터 표현을 제어하는 도구이자 표현에 관련된 로직

        사용하는 Built-in system : DTL(Django Template Language)
        : python과 비슷한 문법을 사용하지만 python 코드가 작동하는 것은 아니다.

        1. 변수 사용 : {{ 변수이름 }} 을 통해서 사용한다.
        2. 필터 : {{ 변수|함수 }} 와 같이 내장된 함수 표현으로 사용한다.
        3. Tag : {% tag%} 와 같이 열리고 닫인 태그(for, if)를 사용할 수 있다.
        4. 주석 : {# 내용 #}으로 표현한다.

        Template inheritance - tags : 공통으로 쓰는 내용은 상속으로 표현할 수 있다.

        <!-- base.html--> <!--기본틀 스타일을 만들어 둔 html을 만든다.-->
        
        {% block content %}  <!-- 각 변경할 부분은 이런식으로 표현해둔다-->
        {% endblock %}
        
        <!--part.html--> <!--각각 세부 html의 경우-->
        
        {% extends 'base.html' %}
        {% block content %}
          <h1>Catch</h1>
          <h2>여기서 {{ message }}</h2>
        
          <a href="{% url 'throw' %}">다시던져라</a>
        {% endblock content %}
 - form, input을 통한 데이터 전달

   1. form
      action : 전송될 URL 지정
      method : 전달 방식 지정 (지금까진 GET만 배움 가서 데이터만 가져옴)
   2. input
      name : 데이터의 키값

 - HTTPS(HyperText Transfer Protocol Secure)
   웹에서 이루어 지는 데이터 교환의 기초 규약



 - Naming URL patterns : 유지 보수 수정을 위해 이와같이 하는 습관을 들이자.

   1. 메인 urls에서 앱의 urls를 만들어 경로를 지정해준다.
      메인 urls : include를 import 한 뒤, path('앱이름/', include('앱이름.urls'))
   2. 앱 urls.py에 from . import views 를 만든 후, 경로 입력해준다. (이름도 지정해준다.)
      path('throw/', views.throw, name='throw')

※ 이번주 해야할 일
: 블로그 2회 업로드 (0회 완료). 알고리즘 문제 1개 풀기

※ 한줄 하루 마무리
: 다시 웹 시작이다.. 어렵다 헷갈린다... 근데 신기하다! ㅎㅎ