챗GPT 장고
Django(장고)는 파이썬으로 만들어진 웹 프레임워크예요. 쉽게 말하면, 웹사이트나 웹 애플리케이션을 만들 때 필요한 기본적인 구조나 기능들을 미리 만들어 놓은 도구라고 할 수 있어요. 이걸 사용하면 웹 개발을 훨씬 더 빠르고 쉽게 할 수 있어요.
Django의 주요 특징:
빠른 개발: Django는 많은 기능이 기본적으로 포함되어 있어서, 개발자들이 처음부터 모든 걸 다 만들 필요 없이 빠르게 웹사이트를 만들 수 있어요.
안전성: Django는 보안에 신경을 많이 써서, 웹사이트를 만들 때 자주 발생할 수 있는 보안 문제들을 미리 방지해주는 기능들이 있어요.
확장성: 작은 웹사이트부터 대규모의 복잡한 웹 애플리케이션까지 다양하게 확장할 수 있어서, 필요한 기능을 추가하거나 변경하는 게 쉽습니다.
풍부한 기능: 사용자 인증, 데이터베이스 관리, 폼 처리, 관리자 페이지 같은 웹 개발에 필요한 기능들이 기본적으로 제공돼요.
예를 들어:
만약 친구들과 함께 공유할 수 있는 블로그 웹사이트를 만들고 싶다면, Django를 사용하면 로그인 시스템, 글쓰기, 댓글 달기 같은 기능들을 쉽게 추가할 수 있어요. Django는 이런 기능들을 미리 준비해두고 있어서, 개발자들은 기본적인 기능을 만들기보다, 자신이 만들고 싶은 기능에 더 집중할 수 있게 해줍니다.
요약하면, Django는 파이썬으로 웹사이트를 쉽게 만들 수 있도록 도와주는 도구입니다. 특히, 빠르고 안전한 웹 개발이 가능하게 해줘서 많은 개발자들이 사용하고 있어요.
웹페이지를 꾸미려고 작성하는 코드입니다.
웹사이트를 만들려면 무엇이 필요한가?
기능 구현 방법
1️⃣ 프로그래밍 언어를 이용해서 하나하나 모두 만드는 방법 → 웹의 특성, 보안, 데이터베이스 등 정말 많은 부분들이 있어요.
- 너무 많은 시간이 걸립니다.
→ 로그인 / 로그아웃 같이 많은 기능들이 웹사이트 마다 비슷해요!
'러닝커브(Learning curve)'란 IT 업계에서 흔히 쓰이는 용어로, 신기술을 학습하는 데에 소요되는 시간을 나타내는 곡선이다. 프로그래밍 언어마다 난이도가 다르고, 사람마다 배우는 속도가 다르니 어떤 기술을 누가 공부하느냐에 따라 러닝커브가 다르다.
📚만들어진 소프트웨어 개발을 위한 구조적인 틀.
특정한 작업이나 목적을 수행하기 위한 코드 뭉치
📚 왜 사용할까요?
거인의 어깨 위에서 시작 ...
이미 만들어져있는것 잘 사용하는것도 능력
호환성 고려
가장 최신버전이 항상 좋지 않다. 안정이 더 중요하다
안정 = 장기적 지원 보장
asgiref==3.8.1
Django==4.2
sqlparse==0.5.1
typing_extensions==4.12.2
프젝에 올릴때 이 파일을 함께 준다
pip install 후 pip freeze > requirements.txt_ 통해서
명시해주는 작업이 필요하다
명령어
pip install -r requirements.txt_
requirements.txt를 쭉 읽으면서 하나씩 다 설치해준다
하나의 프로젝트 == 하나의 소프트웨어
프젝 시작 == 하나의 프로그램 만들기 시작
프레임워크는 기능들이 엄청나게 많은 도구
전체적인 구성만 이해하기
settings, urls 이거 두개 많이 쓸꺼다 이거만 잘쓰면 된다
프젝 = 서비스
많은 기능들이 모여서 하나의 웹사이트를 이룬다
기능단위로 나누어서 앱을 만들고 관리하는게
유지보수하기에도 편하다
프젝 = 하나의 어플리케이션 또는 여러개의 어플리케이션의 집합체
프젝안에서 여러가지 앱을 만들면서 개발
하나의 프젝에는 여러개의 앱으로 구성이 되고
앱에는 여러가지 파일이 있다.
앱 사용하기 두가지단계(앱의 이름은 복수형으로 짓는것을 권장)
1. 앱 생성 -> 2. 앱 등록
앱생성 명령어
python manage.py startapp articles
앱등록
프젝을 설정한 곳 setting.py 에서 INSTALLED_APPS =[ , "앱이름",]에서
앱 내의 여러 파일 중
models.py : 데이터베이스 관련 데이터를 정의하는 곳
views.py : 요청을 처리하고 그 처리한 결과를 반환하는 로직을 작성 하는 곳 (요청이 들어오면 처리해서 응답을 돌려주는 곳)
두개만 잘보면 된다
WEB 이해하기
world wide web: 전 세계에 펼쳐져 있는 거미줄
(물리적 선으로 연결되어 있다- 이 선을 따라서 데이터를 주고 받으면서 인터넷이라는 통신을 하고 있다. "해저 케이블")