📢 공지사항
home

1주차

3강 개발환경 set up
가상환경 새로만든다
장고설치
1.터미널
2.pip list(설치된 라이브러리 확인 가능)
3.pip install django(장고설치)
4. ..(한 칸 올라가기)
5.django-admin(이라는 명령어 사용해서 무슨일 할 수 있는지 알 수 있다)
6.django-admin start project 프로젝트명(ex.pragmatic)(새로운프로젝트시작(목적)
프로젝트
open → 해당프로젝트로 들어가기
pragmatic, manage.py 있다.
file → settings →Project:pragmatic →Python interpreter→ add (새로운 가상환경 추가=venv)
pip install django(다시 django를 설치)
python manage.py → manage.py를 실행한다.
ex. python manage.py runserver
4강 django 개발패턴
mvt(나누어진 개발패턴)가 각자역할하면서 framwork구축
model→ 데이터베이스와 통신하게 해주는 편리한 도구 (ex.user 계정,게시글)
(행, 열)
→ 장고-게시글의 제목, 이미지 데이터베이스내부- 행 1개 열(속성들)로 매칭 해주는 것
view→user가 server에 요청, 요청에 응답하는 것 (계산,확인 작업)
template → user interface 어떻게 구현할지 해결책 제시 (js, html, css 로 구성)
게시글 구현작업필요 : html은 정적→template 동적(새로운 내용생성)
3가지 왔다갔다 하며 개발
5강 첫 앱 시작, 그리고 기본적인 view 만들기
account 앱 만들기
1.terminal→ manage.py
2.phyton manage.py startapp accountapp(원하는앱이름) (새로만듬)
3.pragmatic에서 새로운 앱 만들었다 명시해야 사용가능
pragmatic→setting.py→INSTALLED_APPS에서 ‘accountapp’,
4.accountapp →view.py (원하는 view 만들기)
ex.브라우저에서 어떤경로 접속하면 그 경로에서 hello_world 출역해주는 view
def hell0_world(request):
ㄴ(이름정하기)(받는 임자는 (요청받아서 responce되돌려주는거기때문에)request 받음)
return HttpResponce(’Hello world!’)
ㄴ(내용은 httpresponce돌려줌)
HttpResponse에서 alt+enter누르면 import해줄 수 있다
5.view연결하는 특정주소를 만드는 작업
mainproject
pragmatic→urls.py→path(’account/’, include(’accountapp.urls’)),
(accountapp내부에 있는 url’ 파일을 참고해서 그 안에서 다시 분기)
accountapp내부에 urls’파일 만듬
accountapp→new→phython file→urls
urlspatterns = [
path(’hello_world/’, hello_world, name=’hello_world’)
]
ㄴroute ㄴview ㄴroute의 이름
(각각 path & hello_world에 alt+enter해서 djangp.urls.path & import)
추가적으로 위에
app_name = “accountapp”
6.서버구동 확인
terminal→python manage.py runserver→
127.0.0.1:8000/account/hello_world에서 hello world를 볼 수 있다.
cf)return HttpResponce(’안녕하세요’)
→안녕하세요로 바뀜
6강 git 버전 관리 시스템
git 장점
1.버전업을 했는데 에러가 뜨면 롤백 가능
2.main branch(개발 버전)
기존branch 개발,버전업 상관없이 추가적branch새로만들어서 개발가능 & branch merge
3.team work
git command 가 있다.
git 사용→ git 설치
7강 Git을 통한 버전관리를 활성화, Gitignore 파일 설정, 환경변수 분리, 첫 커밋
gitignor=불필요한 추적 방지
pragmatic→new→file→.gitignore→gitignore파일 복붙→venv/
pragmatic→settings.py→ SECRET_KEY(1.배포할때 노출시키면 안되기 때문에 따로 관리를 해야함)
→새로파일만듬
terminal→pip install django-environ(라이브러리설치완료)
→(settings.py에)
import os, environ env = environ.Env( # set casting, default value DEBUG=(bool, False) )
→추가적 파일 만들어놔야 한다
pragmatic→new→file→.env→SECREY KEY= → = 뒤에 숨겨야하는부분 복붙(’’없앤다)
# Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent
→# reading .env file environ.Env.read_env( env_file=os.path.join(BASE_DIR, '.env')
ㄴ파일경로를 알려준다
(env 변수에 .env 파일의 변수가 할당이 됨)
→SECRET_KEY =지우고
SECRET_KEY=env(’SECRET_KEY’)
2. .env 추적금지
git ignore파일들어가서 .env
3. git활성화
vcs→ Enable version control integration → git → ok
빨간색은 아직 추적이 안된 것
git status: 추적을 해야하는데 추가가 안된 파일
*git ignore→db.sqlite3→추적안하게 함
git add . : 모든 파일을 추적하겠다
git commit -m “Initial commit(message 써줘야함)” : 첫번쨰 커밋이 완료됨.
+accountapp, project dir 에서 pycache 폴더 삭제
git status→git add. → git commit -m “Delete redundant files”(추적안되는상태)
gitignore에서도 __phycache__/
8강 html사용한 장고 template을 어떻게 사용하는지
template에서 자주 쓰이는 구문
extends: 미리 만들어놓은 HTML 파일을 바탕으로 내용을 채워나간다.
include: 만들고 있는 html 파일에 조그만 조각들을 가져와서 template안에 박아넣는다.
extends로 바탕을 만들고 include로 내용을 채운다
템플릿 파일을 하나 만듬
base. html을 만든다
progmatic→ new direcctory→templates (새로운폴더만듬)→new html file→base→add(변화추적)
accountapp의 view에서 응답을 해줄 때 base.html에서 tempalte을 가져와서 그 안에다 내용을 채워넣는 형태로 사용가능
return rendor(request, ‘base.html’)
cf)예전에는 response를 view에서 직접만들어서 되돌려주는 형태
return HttpResponse(’안녕하세요’)
→phython manage.py runserver → 보이지 않는다
settings.py에 Templates의 DIRS에 ost.path.join(BASE_DIR, ‘templates(폴더이름)’)],
(연결시켜줌)
→ base.html에 뭘 써넣은면 보인다
→tempalte→git status→git add. →git commit -m”~~~” (git을 통해 계속 버전업)
9강 include / extends / block 구문을 이용한 뼈대 html 만들기
상중하
templates에 head.html을 만든다. <head > ~ </head>를 복붙
base.html에서 head가 있던 부분에 {% include ‘head.html’ %}
<head>
<>
<title>Pragmatic</title>
<body> </body> 안 <div> </div> 3개 만든다
(알트를 누르고 커서를 누르면 다중 커서 기능 사용가능)
div의 style 정해준다
<div style="height: 10rem; background-color: #38df81; border-radius: 1rem; margin: 2rem;">
header.html을 만든다{% include ‘header.html’ %}
footer.html을 만든다. {% include ‘footer.html’ %}
content부분- account app내부에서 마음대로 설정할 수 있게 발판 만듬
{% block content %}
{% endblock %}
가져다 쓸 수 있게
accountapp내부에 templates를 만들고 accountapp 폴더 만든뒤 hello_world라는 html을 만든다.
{% extends ‘base.html’ %}
ㄴblock content 내용만 바꿀 수 있다.
{% block content %}
{% endblock %}
10강 style, 구글 폰트를 통해 Header, Footer 꾸미기
제목 목차 라인
header.html에서
<div style="text-align: center; margin-bottom: 2rem;"> <div> ㄴ margin : 상하 마진 좌우 마진 <h1>Pragmatic</h1> </div> <div> <span>nav1</span> <span>nav2</span> <span>nav3</span> <span>nav4</span> </div> </div>
footer.html에서
<div style="text-align: center; margin-top: 2rem;"> <div style="font-size: .6rem; > <!-- font size 조정 --> <span>공지사항</span> | <!-- nav마다 중앙 바 삽입 --> <span>제휴문의</span> | <span>서비스 소개</span> | </div> <div> <h6>Pragmatic</h6> </div> </div>
base.html에서
<hr>(구분선)
<hr>
부트스트랩: 스타일 라이브러리
ctrl+ / : 주석 첨부
head.html에 css링크 복붙
구글 폰트 링크를 head.html에 복붙
→header.html, footer.html에서 css복붙
<div style="text-align: center; margin: 2rem 0; font=family: Lobster’, cursive;">