https://www.youtube.com/watch?v=u7CyyHK2P_Q&list=PLi4xPOplIq7d1vDdLBAvS5PmQR-p6KwUz&index=3
이 프로젝트가 git을 사용하려고 하고있다는 것을 알리기 위해 사용
git init
해당 파일에 있는 디렉토리를 보여줌
ls
현재 위치로 부터 모든 디렉토리 파일들 추적
git add .
현재 파일, 디렉토리 내용을 저장, 이후 글자를 작성하려고 'i'을 눌러줘야함
git commit
첫번째 커밋 메세지
first commit
내용 저장
:wq
저장된 내용 보기
git log
다른 사람들과 코드를 공유 가능
리모트 명령어 추가
git remote add origin ...
로컬에 있는 소스가 깃허브 저장소에 저장됌
git push
https://www.youtube.com/watch?v=-Nmtakm70Ro&list=PLi4xPOplIq7d1vDdLBAvS5PmQR-p6KwUz&index=4
settings.py 에서 DATABASE 'default' 값을 변경하면 다른 데이터베이스 사용 가능
INSTALLED_APPS은 기본으로 있는 앱들이며 다음과 같다
django.contrib.admin – 관리용 사이트
django.contrib.auth – 인증 시스템
django.contrib.contenttypes – 컨텐츠 타입을 위한 프레임워크
django.contrib.sessions – 세션 프레임워크
django.contrib.messages – 메세징 프레임워크
django.contrib.staticfiles – 정적 파일을 관리하는 프레임워크
py manage.py migrate 데이터베이스에서 테이블 만들기
설문조사 앱을 위해 Question과 Choice라는 두 개의 모델을 만들기
Question: 질문(question)과 발행일(publication)을 위한 두 개의 필드 필요
Choice: 선택지(choice)와 표(vote) 계산을 위한 두 개의 필드 필요
polls/models.py에 question클래스와 chocie클래스 등록
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE) #foreign key= question이라는 모델을 참조하겠다의 의미
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
장고의 앱들은 꼈다뺏다 할 수 있으므로 다수의 프로젝트에서 사용할 수 있으며, 앱을 배포할 수도 있다.
settings.py 에 있는 INSTALLED_APPS에 아래있는 문장 추가
'polls.apps.PollsConfig', 앱 등록
변경 내용 확인
py manage.py makemigration polls
변경 내용 적용
py manage.py migrate
API= 개발자가 필요로 하는 데이터를 뽑을수 있는 함수
쉘 진입
py manage.py shell
Choice, Question 사용
from polls.models import Choice, Question
안에있는 모든 내용 불러오기
Question.objects.all() question
발행일 시간을 위해timezone 라이브러리 임포트
from django.utils import timezone
question 1개 추가
q = Question(question_text="What's new?", pub_date=timezone.now())
q.save() 저장하기
>>> q.question_text #질문 보기
"What's new?"
>>> q.pub_date #발행일 보기
datetime.datetime(2012, 2, 26, 13, 0, 0, 775217, tzinfo=datetime.timezone.utc)
polls/models.py파일에 question 모델을 수정하여 __str__()메소드를 question과 choice에 추가, __str__()메소드를 추가하는 것은 편하게 보려는 이유 말고도,
장고가 자동으로 생성하는 관리사이트에서도 객체의 표현이 사용되기 때문
from django.db import models
class Question(models.Model):
# ...
def __str__(self):
return self.question_text
class Choice(models.Model):
# ...
def __str__(self):
return self.choice_text
개발자가 필요하는 커스텀 메소드 추가
import datetime
from django.db import models
from django.utils import timezone
class Question(models.Model):
# ...
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1) #현재로부터 하루를 뺀 시간
exit로 나온후 다시 실행하여 확인
from polls.models import Choice, Question
>>> Question.objects.all()
<QuerySet [<Question: What's up?>]>
>>> Question.objects.filter(id=1) #question 에서 id=1 호출
<QuerySet [<Question: What's up?>]>
>>> Question.objects.filter(question_text__startswith='What') # question에서 What 으로 시작하는거 호출
<QuerySet [<Question: What's up?>]>
https://www.youtube.com/watch?v=DRDuwNYT_Zk&list=PLi4xPOplIq7d1vDdLBAvS5PmQR-p6KwUz&index=5
관리를 위한 관리자 사이트를 편하게 만들 수 있는 것이 장고의 장점
관리자 아이디 생성
py manage.py createsuperuser
이후 서버 시작후, 관리자 사이트 .../admin에서 로그인
앱을 보기위해 admin.py에 코드 입력
from django.contrib import admin
from .models import Question
admin.site.register(Question)
다음과 같이 만든 앱 표출됌
이번 강의도 저번에 들었던 강의들과 겹치는 부분이 많아서 괜찮았지만 초반에 깃을 사용한다는 점이 달랐다.이번에는 특별히 어려운 부분은 없어서 깃의 장점에 대해 알아보려고 한다.
과정
구글에 '깃 장점' 검색, 이후 아래 나온 사이트를 통해 깃에 대해 알고 깃과 깃허브의 차이에 대해 숙지함
https://velog.io/@lazysia/git-git