비밀번호오류
MYSQL 설치 후
$cd /usr/local/mysql/bin
$./mysql -p
비밀번호 입력했더니
ERROR 1045 (28000): Access denied for user 'zzz'@'localhost' (using password: YES)
위 에러는
1. 비밀번호 오류
2. 해당 계정에게 권한을 부여하지 않은 경우
이 두가지의 상황에서 발생한다고 한다.
해결방법
root 관리자로 들어가서 내 계정에 권한부여하기
$./mysql -u root -p
비밀번호 입력 후
>CREATE USER '계정명'@'%' IDENTIFIED BY '비밀번호'
>GRANT ALL PRIVILEGES ON *.* TO 'zzz'@'%'
>FLUSH PRICILEGES
기본 어플리케이션들 중 몇몇은 최소한 하나 이상의 데이터베이스 테이블을 사용한다
그러기 위해서는 데이터베이스에서 테이블을 미리 만들기 위해 아래 명령 실행
$ python manage.py migrate
mysite/settings.py
파일의 데이터베이스 설정 및 앱과 함께 제공된 데이터베이스 마이그레이션에 따라 필요한 데이터베이스 테이블을 생성합니다
models.py
👉 데이터 모델 정의
<설문조사 어플에서 만들 모델>
1. Question - 질문과 게시 날짜
2. Choice - 선택 텍스트와 투표 집계
#polls/models.py
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200) #CharField -> 문자필드
pub_date = models.DateTimeField('date published') # DateTimeField 는 날짜와 시간필드
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
각 필드명(CharField,DateTimeField...)을 Python 코드에서 사용할 수 있으며, 데이터베이스에서는 컬럼명으로 사용할 것임!
위 코드에서 각 모델은 django.db.models
의 하위 클래스로 표현된다.
각 모델에는 여러 개의 클래스 변수가 있으며, 각 클래스 변수는 모델의 데이터베이스 필드를 나타낸다.
먼저, 앱을 현재의 프로젝트에 포함시켜야 한다.
앱의 구성 클래스에 대한 참조를 INSTALLED_APPS 설정에 추가해야하고, PollsConfig 클래스는 polls/apps.py 파일 내에 존재
즉, 경로는polls.apps.PollsConfig
mysite/settings.py
파일을 편집하여 INSTALLED_APPS 설정에 추가하기
INSTALLED_APPS : 현재 Django 인스턴스에서 활성화된 모든 Django 어플리케이션들의 이름이 담겨 있음
#`mysite/settings.py`
INSTALLED_APPS = [
'polls.apps.PollsConfig', #이 부분만 추가
'django.contrib.admin', #관리용 사이트
'django.contrib.auth', # 인증 시스템.
'django.contrib.contenttypes', #컨텐츠 타입을 위한 프레인워크
'django.contrib.sessions', #세션 프레임워크
'django.contrib.messages', #메세지 프레임워크
'django.contrib.staticfiles', #정적 파일 관리 프레임워크
]
Django에 polls 앱이 포함되었다!
$ python manage.py makemigrations polls
makemigrations : Django가 변경 사항을 모델에 저장하는 방법