python django 게시판 만들기 - model, admin 설정
python django를 이용한 게시판 만들기 시작
word count 실습을 끝낸 상태에서 시작 하겠습니다.
mtv 패턴에서 드디어 m인 model 등장
vscode 설치하기 : https://integer-ji.tistory.com/65
python 설치하기 : https://integer-ji.tistory.com/64
git 설치하기 : https://integer-ji.tistory.com/66
vscode 설정하기 : https://integer-ji.tistory.com/81
hello world 띄우기 : https://integer-ji.tistory.com/82
git 초기 설정 : https://integer-ji.tistory.com/83
page 이동 : https://integer-ji.tistory.com/84
word count 실습 ( 1 ) : https://integer-ji.tistory.com/85
word count 실습 ( 2 ) : https://integer-ji.tistory.com/86
언제나 시작은 가상환경 실행, 디렉터리 이동
source myvenv/Scripts/activate
cd crudproject/
model 만들기
from django.db import models
class Blog(models.Model):
title = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
body = models.TextField()
def __str__(self):
return self.title
mtv 패턴의 핵심인 model의 등장입니다.
crudapp/models.py에 class를 설정해 줍니다.
( class의 첫 글자는 꼭 대문자로 설정해 주세요. )
Blog 클래스 모델의 속성을 보면
title는 최대 길이가 200자인 charfield 이며
pub_date = 시간을 날짜와 시간으로 설정
body는 textfield인 긴 문자열로 생성한다는 뜻입니다.
def __str__은 Blog 클래스의 title를 보여줍니다.
( 이 함수의 사용은 admin 페이지에서 나옴 )
생성한 model 적용시키기
python manage.py makemigrations
python manage.py migrate
입력해 줍니다.
python django에서 기본으로 설정되어있는 sqlite3에 우리가 만든 Blog 클래스를 알려주는 명령어 입니다.
makemigrations로 Blog class의 속성들을 DB가 알아듣게 바꿔주며
migrate는 알아들은 명령어를 적용하라는 뜻입니다.
admin에 model 등록하기
from django.contrib import admin
from .models import Blog
# Register your models here.
admin.site.register(Blog)
.models에서 Blog를 import
어드민 사이트에 class Blog를 추가
admin 계정 만들기
python manage.py createsuperuser
admin 계정 생성 명령어
아이디와 이메일 그리고 패스워드를 입력해 줍니다.
( 제 이메일은 무시해주세요 )
admin 페이지 접속
runserver 실행 후 http://127.0.0.1:8000/admin
로컬 주소 옆에 /admin을 입력하면 admin 로그인 페이지로 이동됩니다.
아까 create해준 admin 계정을 입력
admin.site로 등록한 models.py에서 만든 Blog가 출력되어 있습니다.
+ Add를 눌러 글을 적어 봅시다.
형식을 보면 models.py에서 설정한 그대로 생성 되었습니다.
내용을 입력 후 SAVE
그러면 블로그의 title가 출력됩니다.
이 출력됨의 이유는 models.py에서 title를 return했기 때문입니다.
def __str__ 함수가 없다면 ?
객체 번호로 출력
글 확인하기
타이틀을 보면 작성한 글을 확인할수 있습니다.
이제 이 models.py의 Blog 클래스를 가지고 crud를 이용한 게시판 만들기 진행합니다.
# 요약 정리
models.py에 클래스를 만들어 주었다면
makemigrations/migrate 해주기
DB에 적용을 해도 admin 사이트에서 확인하기 위해선 admin.site.register(클래스 이름)
admin 계정을 안만들었다면 createsuperuser
git push
git init
git add .
git commit -m "코멘트"
git push origin master
https://github.com/integerJI/djangoproject
- 끝 -
'코딩공부 > Python Django' 카테고리의 다른 글
[django 실습] 게시판 만들기 - detail page 만들기 (0) | 2020.02.18 |
---|---|
[django 실습] 게시판 만들기 - views에 데이터 가져오기 (0) | 2020.02.18 |
[django 실습] Word Count 만들기 ( 2 ) (2) | 2020.02.15 |
[django] 실습 Word Count 만들기 ( 1 ) (0) | 2020.02.15 |
[django 기초] 페이지 이동, git push, 템플릿 태그 (0) | 2020.02.14 |