Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 99클럽
- 파이썬 sep
- 파이썬 |
- 코딩부트캠프후기
- EnvCommandError
- 항해
- 코딩테스트
- Til
- 파이썬 map 함수
- 개발자스터디
- print("""
- 파이썬 int()
- cp949
- vscode cp949
- 99일지
- 파이썬
- 10430번
- print sep
- not a git repository
- 항해플러스
- fatal:not a git repository
- 주니어개발자역량강화
- 항해99
- MomentumParameters
- 주니어개발자멘토링
- 백준
- Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
- 파이썬 클래스
- 개발자사이드프로젝트
- 99클럽 #99일지 #코딩테스트 #개발자스터디 #항해 #til
Archives
- Today
- Total
선발대
[스파르타] Django 기초반 1주차 (완강) 본문
1. 수업 후기
- 강의 개수: 12개
- 총 강의시간: 1시간 43분
- 수업 목표:
- 1. 웹의 기본적인 구조를 이해하고, 5주동안 만들 프로젝트를 살펴본다.
- 2. Python의 기초를 다룬다.
- 3. Django의 기본 구조와 동작 원리를 이해한다.
안녕하슈크림
2. 수업내용 정리
1-1. 1주차 우리가 배울 것
더보기
더보기
01. 우리가 배울 기술
- Python
- HTML / CSS
- Django
- 침착함
02. 완강 후 우리의 모습 & 주차별 학습 내용
- 1주차: Python 문법과 Django의 구조와 명령어
- 2주차: Django ORM과 Django Admin, Django 사용자 관리
- 3주차: Django 사용자 모듈 확장하기, 글 읽기 / 쓰기 / 지우기
- 4주차: Django 팔로우 / 팔로잉 만들기, 기능 활용하기
- 5주차: 서비스 배포해보기
03. 만들 서비스 살펴보기
- 회원가입 / 로그인 / 로그아웃
- 글 읽기 / 글쓰기 / 글 삭제하기
- 댓글쓰기 / 댓글 삭제하기
- 사용자 리스트 보기 / 친구 추가하기
1-2. 필수 프로그램 설치
1-3. 웹의 동작 순서 및 개념
더보기
더보기
01. 용어 정리 - 클라이언트 / 서버 / API
- 클라이언트: 요청 보내는 곳 / 내 컴퓨터, 크롬
- 서버: 요청 받아서 응답해주는 곳 / 우리가 로그인 버튼 누르고 뒷 편에서 이뤄지는 과정들
- API: 데이터를 주고 받는 방식을 정한 약속 / url
02. 웹의 동작 구조
- 클라이언트가 서버에 필요한 정보 요청(Request)
- 서버는 요청 들어온 API 확인하고 그에 맞는 HTML 혹은 data 응답(Response) 해줌.
- 서버가 클라이언트한테 응답해주는 방식은 크게 2가지로 나뉨.
- 페이지 받는 경우: HTML, CSS, JS가 적절하게 섞여있는 페이지를 받는 경우
- 데이터만 받는 경우: 페이지, 화면은 크게 필요없고, '데이터'만 받고 싶은 경우
1-4. PyCharm과 친해지기
1-5. Python 기초 문법 - 1 (파이썬 데이터 타입)
더보기
더보기
01. 변수란?
- 변수: 데이터를 담는 바구니
- 변수이름 = 값
02. 숫자형
- 숫자형: 변수에 들어간 값이 '숫자'를 뜻하는 자료
03. 문자형
- 문자형: 변수에 들어간 데이터가 문자, 단어 등으로 구성된 자료
- 문자열 기준으로 나누기: 문자열.split('기준')
04. 리스트
- 리스트: 여러 개의 데이터를 하나의 변수에 나열하듯 저장할 수 있는 방법
- 리스트 = [ ... ]
- 리스트 내부의 요소들은 '인덱스'라는 번호를 가지고 있음.
- 리스트 추가하기: 리스트.append('추가할 데이터')
05. 딕셔너리
- 딕셔너리: 대응 관계로 데이터를 나타낼 수 있는 자료형. 사전처럼 '키' - '값'으로 구성됨.
- 딕셔너리 = { ... }
- 딕셔너리 값 가져오기: 딕셔너리명['키 값'], 딕셔너리명.get('키 값')
1-6. Python 기초 문법 - 2 (조건문과 반복문)
1-7. Python 기초 문법 - 3 (함수와 클래스)
더보기
더보기
01. 함수
- 함수의 역할: 인자들(변수들)을 함수에 넣고, 함수를 사용해서 결과물을 내어오는 것.
- 과일(인자)를 믹서기(함수)에 넣으면 과일주스(결과물) 완성!
def 함수명('매개변수'):
실행할 문장들
02. 클래스
- 빵 틀(클래스)로 머핀(객체)를 굽는다.
- 클래스마다 고유한 성격을 가지고 있어, 클래스에 의해 만들어지는 객체들도 각각의 성격 존재.
- 장고에서 데이터베이스 사용할 때 사용함.
class myBakery:
title = ''
time = ''
taste = ''
cookie = myBakery() # cookie는 객체임
cookie.title = '머핀' # cookie의 속성들
cookie.time = '1h'
cookie.taste = '초콜릿'
1-8. Python의 Web Framework!?
더보기
더보기
01. 파이썬 웹 프레임워크란
- 프레임워크: 개발을 도와주는 하나의 틀
- 틀은 결과물을 일정한 형태로 만들 수 있도록 도와줌.
- 사용자가 비슷한 방법과 방식으로 완성된 형태 만들 수 있음.
02. 파이썬 웹 프레임워크의 종류
- 최소한의 기능만 제공하는 형태: 서버 만들기 위해 최소한의 기능만 제공 / Flask, Pyramid
- 이미 많은 기능들을 제공하는 형태: 웹서비스에 공통으로 필요한 부분들 미리 구현됨 / Django
03. Django VS Flask, Pyramid
Django | Flask, Pyramid |
거대한 프레임워크 | 경량 프레임워크 |
많은 유틸(기능)들이 이미 만들어져 있음 | 최소한의 기능들만 제공함 |
DB, 로그인, Admin, 패스워드 암호화 등 이미 제공 | 로그인, DB 등의 관리를 직접 해줘야 함. |
커뮤니티, 문서가 잘 되어 있음 | 관리자 페이지 구축을 따로 해줘야 함. |
1-9. Django 알아보기
더보기
더보기
01. 장고의 MVT 패턴
- User ← URL Conf, Template ←→ View ←→ Model(ORM) ←→ DB
- M (Model)
- 데이터베이스의 모델 (ORM)
- 저장하고 사용되는 데이터 형태
- 데이터베이스와 연결되어 있음
- T (Template)
- 사용자에게 보여지는 부분
- 화면
- Template 안에서 html 파일을 전달하는 것
- V (View)
- 실질적으로 프로그램이 동작하는 부분
- url을 요청하고 응답하는 그 사이에 일어나는 '서비스'들이 존재하는 곳
- 기능을 만들고 싶을 때는 View 부분에서 작업함
02. ORM 이란?
- Django의 ORM은 Python으로 DB 클래스 모델 만들고,
- 만든 모델을 바탕으로 자동으로 DB 다룰 수 있게 도와줌.
- 데이터베이스와 소통하는 방식임.
- 쿼리(DB 다루기 위해 사용하는 언어) 작성하지 않아도 되는 것!
# 글쓰기 모델 예제
class Post:
id = IntegerField()
title = CharField()
author = CharField()
context = TextField()
1-10. 장고 프로젝트 만들기
더보기
더보기
01. 장고 프로젝트 만들기
- Pycharm 새 프로젝트 > 프로젝트 이름: mySpartaSns > Django 선택
- > 경로, 파일 이름 확인 > New Virtualenv 설정 확인 > Create
02. 장고 프로젝트 구조 보기
- setthings.py: 장고 프로젝트 전체의 환경설정을 담당함.
- INSTALLED_APPS: 장고에 설치된 앱들
- MIDDLEWARE: 사용자 요청 / 응답 사이에서 작동하는 시스템들
- TEMPLATES: 나의 html 파일을 자동으로 인식
- DATABASES: 내가 사용할 데이터베이스 연동 설정
- AUTH_PASSWORD_VALIDATORS: 패스워드 보안 수준 검증
- LANGUAGE_CODE: 화면에 어떤 언어를 보여줄 것인지
- TIME_ZONE: 우리가 어떤 시간에 있는지
- urls.py: 장고 프로젝트 전체의 API를 담당하는 부분.
- 접속할 수 있는 url 주소를 만들고 관리해주는 공간.
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
1-11. 장고를 사용한 화면 띄우기
더보기
더보기
01. 장고 실행해보기
- 우측 상단 녹색 재생 버튼 클릭
- 콘솔창의 url 클릭
02. 화면에 글자 띄우기
- mySpartaSns 패키지에 views.py 생성
- HttpResponse(): 괄호 안의 내용을 인터넷 창 화면에 보여주는 역할
# views.py
from django.http import HttpResponse
def base_response(request):
return HttpResponse("안녕하세요! 장고의 시작입니다!")
# urls.py
from django.contrib import admin
from django.urls import path
from . import views # 내가 있는 폴더에서 views라는 파이썬 파일을 가져올 것임
urlpatterns = [
path('admin/', admin.site.urls),
path('test/', views.base_response,name='first_test'),
# test 부분 추가
# test라는 url로 base_response 함수와 연결시켰음
]
03. 화면에 내가 만든 html 띄우기
- template > my_test.html 생성 > 코드 붙여넣기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>테스트 페이지</title>
</head>
<body>
<h3>테스트 페이지 입니다! 장고를 사용했어요!</h3>
</body>
</html>
- views.py에 코드 추가하기
from django.shortcuts import render
def first_view(request):
return render(request, 'my_test.html')
# render는 template에 있는 html 파일을 찾아서 보여줌
- views.py에 새로운 변경사항이 생겼으니 urls.py도 변경
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('test/', views.base_response,name='first_test'),
path('first/', views.first_view,name='first_view'), # 이 부분 추가
]
1-12. 1주차 Wrap Up!! & 숙제 설명
'스파르타코딩클럽 > 강의 정리' 카테고리의 다른 글
[스파르타] Django 심화반 1주차 (완강) (0) | 2022.03.08 |
---|---|
[스파르타] Django 기초반 2주차 (완강) (0) | 2022.01.20 |
[스파르타] 실전 머신러닝 적용 4주차 (2) | 2022.01.11 |
[스파르타] 실전 머신러닝 적용 3주차 (완강) (0) | 2022.01.11 |
[스파르타] 실전 머신러닝 적용 2주차 (완강) (0) | 2022.01.11 |
Comments