[장고 기초] 1주차

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)하고 아까 복사해둔 코드스니펫을 붙여넣기.

>페이지를 생성했으니 페이지를 띄어줄 urlview생성. 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