2022. 9. 23. 00:12ㆍ스파르타코딩클럽[AI트랙 3기]/장고
1-1 1주차 우리가 배울 것
[수업목표]
1.웹의 기본적인 구조를 이해하고, 5주동안 만들 프로젝트를 살펴본다
2.파이선 기초 다루기
3.장고기본구조와 동작 원리를 이해
1)우리가 배울 기술
-파이썬 : 파이썬 활용 두려움 없애기
-HTML/CSS : 간단히 살피기(문법이나 자세한 이론은 아님)
-장고 : 핵심 기술
-침착함 : 오류나는 것은 실패가 아니다.
2)완강 후 우리의 모습&주차별 학습내용
-1주차 : 파이선 문법과 장고의 구조와 명령어
-2주차 : 장고 orm과 장고 admin, djaango 사용자 관리
-3주차 : django 사용자 모듈 확장하기, 글읽기/쓰기/지우기
-4주차 : django 팔로우/팔로잉 만들기, 기능 활용하기
-5주차 : 서비스 배포하기
1-2 웹의 동작 순서 및 개념
2.웹의 동작 순서 및 개념
1)용어 정리
-클라이언트 : 요청을 보내는 곳, 주로 나, 내컴퓨터 혹은 크롬
-서버 : 요청을 받아서 응답을 하는 곳
-API : 데이터를 어떻게 주고받을지에 대한 약속
2)웹의 동작 구조
클라이언트(url입력하기) > api(url주소) > 서버
*서버에서 클라이언트로 넘기는 과정
가)페이지를 받는 경우 : html, css, Javascript를 적절하게 섞어서 보여줌(네이버, 구글등과 같음)
나)데이터만 받는 경우 : 데이터만 전달
1-3 파이참과 친해지기
1)파이참
-파이썬 인터프리터 : 우리의 언어를 컴퓨터가 이해하도록 번역해주는 것.
-venv : 각 프로젝트마다 환경을 다르게 해주는 가상환경
2)파이썬프로젝트 만들고 실행하기
3)파이썬 실행하기
1-4 파이썬 기초 문법 – 1(파이썬 데이터 타입)
1)변수란?
데이터를 담는 바구니. 등호를 기준으로 변수의 이름과 값이 들어감.
2)숫자형
값이 숫자인 것
3)문자형
값이 문자인 것
-문자열 더하기 : a=’a‘, b=’b‘ / result = a+b / print(result) >>>ab
-문자열 쪼개기 : a =’a‘,’b‘,’c‘ / split_result = a.split(’,‘) / print(split_result) >>>[’a’,‘b’,‘c’]
4)리스트
a=[‘a’,‘b’,‘c’]
-인덱싱 :리스트[번호] , 0부터 시작함.
-리스트에 추가: 리스트.append(‘추가할 내용’)
5)딕셔너리
-대응관계로 나타낸 데이터, 키와 값
val={‘name’:‘pail’,‘age’:20}
print(val[‘name’]) >>> paul
print(val.get[‘name’]) >>> paul #나중에 장고에서 잘 활용될 또다른 킷값부르는 방법
1-5 파이썬 기초 문법 – 2(조건문과 반복문)
-형태와 들여쓰기에 주의해서 해보자!
1)조건문(if문)
-참, 거짓을 판별하는 문장.
if 조건: #조건이 참일 경우 실행
else 조건:#조건이 거짓일 경우 실행
-if문에 자주이용되는 비교 연산자 (!= : 같지않다 / >= 크거나 같다 / <=작거나 같다)
2)반복문(for문)
for 변수 in 리스트:
실행할 문장
예) jum_list=[10,20,30,40]
for jum in jum_list:
print(jum)
>>>
10
20
30
40
1-6 파이썬 기초 문법 – 3(함수와 class)
1)함수
def 함수명 (‘매개변수’):
실행할 문장들
def a_sum_func(a,b):
result =a+b
return result
a_sum = a_sum_func(10,20)
print(a_sum) >>> 30
2)class
class Bread:
title = ‘title’
time = ‘time’
taste = ‘taste’
cookie = Bread()
cookie.title = ‘머핀’
cookie.time = ‘1h’
cookie.taste = ‘초콜릿’
print(cookie) >>>__main__.Bread object at sdsdf1341 같은 것이 나옴. 이것이 바로 객체형태.
print(cookie.출력하고싶은 것) > 출력하고 싶은 것 출력됨.
1-7 파이썬의 웹프레임워크
1)파이썬 웹프레임 워크
개발을 도와주는 하나의 틀. 결과물을 일정한 형태로 만들어주기 위해 미리 제작된 것.
2)파이썬 웹프레임워크 종류
최소한의 기능 제공>플라스크, 피라미드 // 이미 많은 기능 제공 > 장고
1-8 장고 알아보기
1)장고 mvt 패턴
mvt 패턴은 장고가 일하는 방식을 보여줌.
사용자 요청 > url 확인 > view 통과 > model > db > view >template or 사용자
>M(model)
-데이터베이스 모델(ORM)
-저장되고 사용되는 데이터의 형태
>T(template)
-사용자에게 보여지는 부분(화면)
>V(View)
-실질적으로 프로그램이 동작하는 부분
-url을 요청하고 응답하는 그 사이에 일어나는 ‘서비스’들이 존재하는 곳
2)ORM
데이터베이스 형태를 class로 나타내줌. 쿼리(데이터베이스관리에 필요한 것)를 작성하지 않아도 데이터를 자유자재로 다를 수 있음.
예)
class Post:
id = IntegerField()
title = CharField()
author = CharField()
context = TextField()
1-9 장고 프로젝트 만들기
1)프로젝트 세팅
>파이참 켜고 프로젝트 세팅(새프로젝트) 맨 왼쪽에서 장고 클릭
>location에서 장고>mySpartaSns로 이름 설정
2)장고의 구조
-mySpartSns 파일 클릭 > 다 알아볼 수는 없고 중요부분만 먼저 확인 > settings.py(환경설정) 확인: 이미 많은 것들이 세팅 되어 있음.
-urls.py : 장고 프로젝트 전체의 API를 담당. 접속할 수 있는 url주소를 만들어주고 관리.
1-10 장고를 사용한 화면 띄우기
1)장고 실행 해보기
파이참 우측 상단에 재생버튼 . 실행창에보면 주소가 뜸. 클릭하면 장고에서 제공하는 기본화면 출력.
나만의 창을 만들어보기. 보던 화면 일단 닫기.
2)화면에 글자 띄우기
mySpartaSns 새로운 views.py라는 파이썬 파일 생성. 여기서 많은 일들이 일어날 것.
코드스니펫:views.py 복사해서 붙여넣기
<<<<
from django.http import HttpResponse
def base_response(request):
return HttpResponse("안녕하세요! 장고의 시작입니다!")
>>>>
가 나옴. 이 함수를 어디로 접근해야 나올 수 있게할 수있을까? url과 연결시켜주어야함.
url.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'),
]
<<<
이걸로 바꿔주고
로컬호스트주소 코드스니펫 주소창에 입력하면 안녕하세요 장고의 시작입니다. 라고 출력됨.
3)화면에 내가 만든 html 띄우기
코드스니펫의 my_test.html 복사 > template에서 html 파일 생성(my_test.html)하고 아까 복사해둔 코드스니펫을 붙여넣기.
>페이지를 생성했으니 페이지를 띄어줄 url과 view생성. mySpartaSns의 views.py 들어가서 from django.shortcuts import render 하고 밑에 함수
def first_view(request):
return render(request, ‘my_test.html’) #first_view라는 함수는 my_test.html을 보여 주는 함수.
-urls.py 들어가서 맨 밑에 path(‘first/’, views.first_view, nmae= first_view),
코드스니펫 first로 접속하기 하면 들어가짐.
1-11 1주차 Wrap up!!& 숙제설명
1)복습
-파이선과 장고의 실행
-장고가 어떻게 작동하는지 확인
-직접 실행
->웹이 기능과 흐름
->파이선 다루기(문법 활용을 기대하며)
->장고 프로젝트 만들기 + 실행
'스파르타코딩클럽[AI트랙 3기] > 장고' 카테고리의 다른 글
| [장고기초]4주차 (0) | 2022.09.28 |
|---|---|
| [장고기초]3주차 (0) | 2022.09.23 |
| [장고 기초]2주차 과제 (1) | 2022.09.23 |
| [장고기초] 2주차 (1) | 2022.09.23 |
| [장고_기초] 1주차 과제 (1) | 2022.09.23 |