전체 글 205

[Django] django의 MVT 구조

Model, View, Template을 합쳐서 MVT 구조라고 한다. Model - 데이터 구조 생성 - 데이터베이스와 소통 하는 역할을 한다. 예를 들어 살펴보자! 대학교 수강신청 사이트를 만든다고 하자. 그럼 우리는 강의 정보와 수강생 정보가 있어야 한다. 데이터베이스를 이런식으로 생성해야겠지 이런 정보를 우리가 model에 정의하면 우리는 정의한 데이터베이스와 소통하며 데이터를 CRUD 하게 된다. Template - HTML, CSS, JS를 이용해 웹 사이트의 화면 구성 담당 - template language를 이용해 매번 바뀌는 동적인 화면 구성할 수 있음 예를 들어보자 유튜브를 생각해보면 우리가 어떤 영상을 봐도 기본적인 틀은 비슷하다. 같은 틀 안에서 영상, 제목, 설명글 같은 부분들이..

컴퓨터/WEB 2022.04.28

[Django] 장고에서 URL 작성하는 방법과 URL 처리

URL 작성 디장고를 사용하면 많은 URL을 작성하게 될 것이다. Django가 가지고 있는 철학 중 하나가 바로 'URL은 반드시 아름답게 작성되어야 한다'는 것인데, 막상 작성하다보면 헷갈릴 수 있는 부분들이 있다. 첫째. urls.py에 적는 URL 패턴은 슬래시( / )를 붙여서 작성한다. urlpatterns=[ path('food/', views.index), path('food/apple/', views.fruit), ] URL 끝에 있는 슬래시를 트레일링 슬래시(traling slash)라고 하는데, 우리가 평소에 구글에 접속하고자 할 때를 생각해보면 www.google.com 이라고 적는다. 그런데 www.google.com/ 이라고 적어도 같은 페이지로 이동하긴 한다. 결론부터 말하면 ..

컴퓨터/WEB 2022.04.27

컴퓨터의 클라이언트와 서버에 대해 알아보자

일반적으로 웹 서비스는 클라이언트가 서버에게 무언가를 요청(request)하고 서버가 클라이언트의 요청에 응답(Response)하는 방식으로 이루어진다. 클라이언트는 모바일 앱, 사파리, 크롬 등이 될 수 있고 서버는 그냥 컴퓨터라고 이해하면 된다. 컴퓨터가 클라이언트에게 서비스를 제공하면 그걸 서버라고 부른다. 이런 구조를 통칭해 서버-클라이언트 구조라고 한다. 그럼 이 응답과 요청은 어떻게 하는걸까? 그건! url을 이용한다. 여기서 도메인은 우리가 사용할 서버를 찾아주는 역할을 한다. 인터넷에는 Domain Name System이라는것이 있는데.. IP와 이름을 맞춰놓은 리스트 주소록이라고 보면 된다. 인터넷은 모두 ip주소를 가지고 있다. 예를 들어 naver의 ip 주소는 202.131.30.1..

[Django] "GET / HTTP/1.1" 404 2031

응 runserver를 하고 들어갔는데 "GET / HTTP/1.1" 404 2031 오류가 떴다. ​ ㅋㅋㅋㅋㅋ 이 오류가 뜬 이유는 정의된 url 패턴이 없기 때문이다... 나의 경우 urls.py에 path를 넣고 httpResponse로 띄울꺼를 써놓고 연결해서 띄우기로 했는데 그냥 http://127.0.0.1:8000/ 이렇게만 쳐서 저 오류가 뜬 것이다. 앱을 생성하면서 장고 연결 main 페이지는 사라진듯 그니까 port 쓰고 / admin 이나 /foods 나 이런걸 같이 쳐야 실행된다. 그래서 들어갈 앱 디렉토리 path를 선언해줘야 그곳에 들어갈 수 있다.. 나같은 경우 foods 앱에 index라는 path를 선언해줬으므로 http://127.0.0.1:8000/foods/index/

[Django] 디장고 디렉터리 구조 살펴보기

project/ #프로젝트명 manage.py project/ # 프로젝트명 __init__.py settings.py urls.py wsgi.py 처음 프로젝트를 startproject를 통해 실행하게 되면 이러한 구조를 가지고 있다. Project Root 최상위 디렉토리인 프로젝트 명 디렉토리는 Project Root라고 하고 프로젝트의 전체 파일이 들어 있는 디렉토리이다. manage.py manage.py는 하나의 Django 프로젝트를 생성하면 자동으로 만들어지는 프로젝트 관리를 위한 명령 유틸리티임. Django 앱을 만들거나, 데이터베이스 관련 기능을 수행하거나, 개발 서버를 실행하는 등의 여러기능을 실행 할 수 있음 manage.py와 django-admin는 거의 동일한 기능을 하는데...

컴퓨터/WEB 2022.04.27