디장고 5

[Django] Template Language

템플릿 변수 (Template Variable) {{ variable }} 템플릿 변수는 템플릿이 렌더될 때 해당 변수가 의미하는 값으로 변환된다. 뷰(View)에서 가공한 데이터를 템플릿으로 넘겨주면 템플릿에서는 템플릿 변수를 사용해 넘겨받은 데이터에 접근할 수 있다. 템플릿 변수의 점(.) 연산자 템플릿 변수는 점(.)을 사용해서 변수 안쪽 속성에 접근할 수 있다. user = {"name" : "농부", "coffee" : True} 예를 들어 위와 같은 user 변수가 있다면, user.name으로 "농부"라는 안쪽 값에 접근 할 수 있다는 것이다. 이와 같은 점(.) 연산자는 다음과 같은 순서로 변수의 안쪽 속성에 접근을 시도한다. 변수를 사전형(dict)으로 생각하고 점(.) 연산자로 Key값..

컴퓨터/WEB 2022.04.28

[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

[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