본문 바로가기

(23)
[Django] 모델 이해하기 , 데이터베이스/ 2021.09.17 * 참고 자료 : 코드잇 Django 강의 1. 모델이란? 모델은 데이터의 구조를 잡아주고 정의된 구조를 기반으로 데이터베이스와 소통하는 역할을 한다. (1) 데이터의 구조 데이터의 구조란 우리가 저장할 정보들의 형태를 말한다. 메뉴판을 예로 들어보자. 메뉴판은 음식이름, 설명, 가격등으로 구성이 되어 있다. 여기서 음식이름과 설명은 문자열(str) 형태로 저장하면 되고, 가격은 정수(int)형태로 저장하면 된다. 이런식으로 각각의 데이터구조와 형식을 저장하는 것을 데이터모델링이라고 한다. 데이터모델링은 쉽게 말해 우리 서비스의 요구사항에 맞게 데이터의 구조를 짜는것이며 데이터를 어떤식으로 저장해야할 지 고민하는 과정이다. 그렇다면 실제로 데이터를 저장하는 곳은 어디일까? (2) 데이터베이스 실제로 데이..
[Django] 우아한 URL / 2021.09.10 * 참고 자료 : 코드잇 Django 강의 1. 우아한 URL 장고에서 URL을 처리하는 방식을 우아한 URL(Elegant URL)이라고 한다. URL을 우리가 원하는 형태로 구성할 수 있고 직관적이고 알아보기 쉬운 구조로 만들 수 있다는 장점이 있다. 2. 모든 메뉴에 대해 상세 페이지 만들기 만약 한 메뉴에 대해 한 가지의 url을 만들어준다면 100개의 메뉴가 있다면 100개의 url을 추가해주는 것과 같다. 이것은 너무 비효율적이다. 이럴 때 이용하는 게 경로 변수를 이용한 동적 URL (Dynamic URL) 이것이 곧 우아한 URL이다. (1) foods앱의 url파일 * 주의 : 아래 사진에서 첫 번째 path다음에 콤마 추가해주세요!!!!!!! 여기서 부분을 동적 URL이라고 한다. 이 ..
[HTML/CSS] 리스트, 리스트 스타일링 / 2021.09.09 * 참고 자료 : 코드잇 HTML/CSS 강의 1. Ordered List 순서가 있는 리스트 순서가 있는 리스트는 태그를 사용한다. ol은 Ordered List의 약자이다. 예를 들어, 오늘 할 일을 적은 리스트를 만들어보자. 구조 내용 내용 내용 * 여기서 li는 List Item의 약자이다. 웹페이지를 열어보면, 이와 같이 순서가 매겨지게 된다. 이 순서를 다른 형식으로 바꿀 수는 없을까? (1) 소문자 알파벳 순서대로 내용 내용 내용 * ol태그에 type="a"라고 적어주면 된다. (2) 대문자 알파벳 순서대로 내용 내용 내용 * ol태그에 type="A"라고 적어주면 된다. (3) 소문자 로마 숫자대로 내용 내용 내용 * ol태그에 type="i"라고 적어주면 된다. (4) 대문자 로마 숫자..
[HTML/CSS] Position 포지션 / 2021.08.31 * 참고 자료 : 코드잇 HTML/CSS 강의 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 Position .p1{ border: 1px solid red; margin: 30px; padding: 30px; } .p2{ border: 1px solid blue; ma..
[Django] 동적 웹페이지 만들기 / 2021.08.30 * 참고 자료 : 코드잇 Django 강의 동적 웹페이지란 템플릿을 수정하지 않아도 자동으로 변하는 웹페이지를 말한다. ex ) 날짜, 방문자 수 등 이 페이지에서 왼쪽 상단에 보이는 날짜를 자동으로 변경되도록 코드를 수정해보자. 1. views.py 로직을 담당하는 views.py에서 오늘 날짜를 가져오는 로직을 만들어보자. 이때, 파이썬에서 날짜와 시간을 다루는 모듈은 datetime을 사용한다. (datetime.today( )) today = datetime.today() # today라는 변수에 오늘 날짜 가져옴 print(today)를 해서 콘솔 창에서 확인해보면 오늘 날짜와 시간이 잘 나오는것을 확인할 수 있다. 하지만, 날짜만 가져오고 싶다면? today = datetime.today()...
[Django] 중복되는 템플릿 코드 없애기, 템플릿 상속 / 2021.08.29 * 참고 자료 : 코드잇 Django 강의 하나의 웹서비스는 무수히 많은 웹페이지로 이루어져있고 그때마다 중복되는 코드를 매번 쓰는 것은 비효율적이다. 이 중복되는 코드를 템플릿 상속을 통해서 해결할 수 있다. 템플릿 상속이란 여러가지 파일의 중복되는 코드를 모아서 부모 파일로 만들어주고 자식 파일에서는 공통되는 코드를 부모 파일에서 상속받고 다른 부분만 작성하는것을 말한다. 장고에서 템플릿 상속은 {% block %} {% extends %} 를 사용해서 구현한다. 1. 부모 파일 만들기 먼저 index.html과 같은 디렉터리에 부모 파일인 base.html을 만들어주자. 2. 뼈대가 되는 부분은 부모파일인 base.html에, 변경이 되는 부분은 자식파일인 index.html으로! 먼저 index...
[HTML/CSS] display 디스플레이/ 2021.08.28 * 참고 자료 : 코드잇 HTML/CSS 강의 아래의 코드로 display속성을 공부해 보자. Life is too short, You need Python 레이아웃을 제대로 하기위해서는 일단 display속성을 이해해야 한다. display 속성은 inline, block, inline-block 등등 여러 가지 종류가 있다. 모든 html요소들은 display속성 중 한가지를 가지고 있다. 대부분의 요소는 inline 혹은 block이다. 1. inline display ex) , , , , inline-display는 다른 요소들과 같은 줄에 머무르려고 하는 성향이 있으며 가로길이는 필요한 만큼만 차지한다. (길이를 따로 설정해 주어도 auto로 나온다. 만약 길이를 변경하고 싶다면 display:..
[HTML/CSS] box-sizing / 2021.08.28 * 참고 자료 : 코드잇 HTML/CSS 강의 Ice cream Ice cream, chillin', chillin' Ice cream, chillin' Ice cream, chillin', chillin' Ice cream, chillin' I know that my heart can be so cold But I'm sweet for you, come put me in a cone You're the only touch, yeah, that get me meltin' He's my favorite flavor, always gonna pick him You're the cherry piece, just stay on top of me, so I can't see nobody else for me, n..