[Django] ClassLion - 실습(1)

서희찬·2021년 4월 18일
0

Django

목록 보기
3/7
post-thumbnail

WELCOME 페이지를 만들자!

자 이제 가상환경에 들어가서 장고를 설치 후 welcome 페이지를 만들어서

APP->Template->view->URL 과정을 거치자

이는 콘솔창에

python3 -m venv myvenv : 가상환경제작
source myvenv/bin/activate : 가상환경 들어가기
install django : 장고 설치
django-admin startproject firstproject : 프로젝트 생성
python manage.py startapp firstapp : app생성
python manage.py runserver : 서버 구동

이는 디장고를 쓸때 모르면 안되는 키들인거 같다..
계속 쓰인다!!
외워두자.


우리는 firstapp을 만들었는데
앱을 만들고 등록해주어야한다.
firstproject 안에 settings.py에 들어가 INSTALLED_APPS에 'firstapp.apps.FirstappConfig'를 추가하면된다.

그 이유는 firstapp 의 app파일에 들어가보면
이 클래스가 있는데 이를 호출해주는것이다.

이후 이제 firstapp폴더에 templates 폴더를 만든 후 templates 폴더 안에 home.html 파일을 만든다.

이 밑에 wc는 2강에서 다루는 내용이니 지금은 패스 !
이제 이를 실행하기 위해서 firstapp 폴더에 들어있는 views.py를 다뤄야 한다.

views.py에 이와 같은 함수를 작성해준다.

welcome 이 요청을 받으면 welcome.html을 전달해주는것이다.
hello는 조금 있다 말하겠다.

그 후 firstproject 폴더에 urls.py에 들어와

이와 같이 from firstapp import views 를 해줘야하는데
이렇게만 할시 나중에 앱이 많아지면 views가 겹쳐 에러가 발생한다.
그러므로 as first 를 붙여 다른 앱과 views의 충돌
을 막아준다.

그 이후 path("",first.welcome,name="welcome")으로 해준다.

path의 첫번째 파라미터는 도메인 주소이다.
지금은 ""이 끝이니 아무것도 안쳤을때 실행되는 것이 이 welcome.html이라는 것이다.
두번째 파라미터는 views.welcome views파일에서 welcome함수를 가져온다.
세번째 파라미터는 welcome.html 을 welcome이라고 이름지어주는것이다.
그래서 추후에 welcome.html 대신 welcome이라고 써도 된다.

이렇게 한 후 실행하면

이런 화면이 나온다.
이제 이 이름에 이름을 입력했을때 그 이름값을 받아 그 이름에게 인사하는 페이지를 만들자.

눈치챘겠지만 그것이 바로 hello.html이다!

안뇽 페이지

이도 위의 welcome을 만든것과 비슷하다 !
하지만 앱등록은 안해도 된다!
같은 앱에서 만드는것이기 때문이다.
먼저 views.py에
부터 적어주자!
hello 함수는 welcome 으로부터 name값을 GET으로 받아 이 값을 userName에 저장한다.
그리고 이 저장한 값을 {"userName":userName}으로 딕셔너리로 넘겨주는데..!

이것은 html파일에서

{{userName}}으로 적어주면 userName이 출력된다!! Django에서는 {{}}에 키 값을 적거나 변수를 적으면 출력이된다 페이지에서!

그 이후 이제 urls에 연결해주자.
세번째 path이다!
이로써
welcome 에 이름을 입력해주면 hello에서 인사를 한다.
실행해보자

이르케 이름을 적고 제출버튼을 눌러주면

hello.html에서 이르케 뜬다!!!!!


내가 헤맸던 부분은 바로 GET['name'] 부분인데
그 이유는 GET('name')으로 쳐서 그랬다....
GET다음 대괄호.. 까먹지 말자!!

profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)

0개의 댓글