City At Night

Django! 2. 게시물을 작성하자.CREATE(1) 본문

Django 기초

Django! 2. 게시물을 작성하자.CREATE(1)

Wuny 2020. 9. 8. 22:16
728x90
반응형

CRUD라고 들어봤나 ??

CRUD는 Create의 C , Read의 R . Update의 U , Delete의 D의 약자이다.

말 그대로 만들고 읽고 수정하고 삭제하는 기능이다.

닥치고 바로 시작하자.

 

내가 게시판에 접속해서 글을 작성할때 게시판에는 작성할 수 있도록 틀이 만들어져 있다.

 

제목 :

내용 :

 

그럼 나는 제목란에 제목을 적으면 되고 내용란에 내용을 적으면 된다.

이 틀을 Model이라고 한다.  틀이 있어야 틀에 맞게 글을 써야되니 Model부터 만들어보자

 

 

 

App폴더 안의 models.py으로 고고

 

 

 

 

 

Post로 클래스명을 작성했다.

지금은 회원가입 및 로그인 기능을 만들지 않을거니 

author 작성자를 만들었다.(회원가입 만들면 수정함)

subject 제목

body 내용

image 이미지 (blank값 True로 해주세요~ 이미지를 안넣어도 작성외 돼야죠?)

create_at 게시판 작성 시간

 

def__str__(self)를 해주는 이유

 이따 admin에서 보자. ㅎㅎ

 글로 설명보단 팍 눈으로 보는게 더 이해잘감 ㅎ

 

 

자 git bash에 python manage.py makemigrations App이름   쳐 줍시다.

 

 -Create model Post라고 떳쥬? 그럼 성공한거에유

 

그러면 내 App폴더 안에 migrations안에 0001_initial.py가 생성됩니다.

한번 열어보세요. 우리가 작성했던 models와 똑같은 내용이 중간에 들어가있을거에요

 

그럼 이제 python manage.py migrate를 해주시면 끝!

저렇게 Ok가 막나오면 잘 반영됐다는거에유.

 

쉽게 말해서

 

makemigrations와 migrate는 내가 모델을 만들었어!라고 장고에게 말해주는거다!! 

무조건 뭘 만들면 장고한테 일러주세요.

 

이젠 슈퍼유저라고하는 관리자 계정을 만들어볼게요.

 

장고에서는 관리자사이트를 제공하는데요.  그 사이트로 접속하면 저희가 만들었던 게시판 틀 있죠?

그 틀이 만들어져있습니다. 거기서 게시판을 관리자 권한으로 작성할 수 있어요!

그럼 관리자 계정을 만들어봅시다.

python manage.py createsuperuser 를 쳐주세요! 띄어쓰기 없습니다 오타 주의하세요

자 저는 계정 아이디는 admin으로 하였고 주소는 대충 적었어요! 실제 개발할때는 진짜 이메일을 적으세요!

password 작성할때 타자 치는데 안보이시는거 이상한거 아닙니다! 장고에서 안보여주는거에요ㅋㅋㅋ 렉 걸렸다고 오해 하지마시길..

저는 1234로 설정했기에 저렇게 경고 메세지를 날려주네요. 그래도 저는 연습삼아 하는것이니 y를 눌러 패스~

 

자! 다 만들었으면 저희 서버 접속하시는 법 아시쥬? 

서버를 가동해주세요 ~ python manage.py runserver

그 다음 http://127.0.0.1:8000/admin/        뒤에 admin을 붙여주세요

자 이제 여러분들에게 익숙한 로그인창! (저는 매일 코드만 보다 저 로그인창 봤을때 뭔가 고향온 기분이였습니다 ㅜ)

아까 만들었던  관리자 계정있죠? 그걸로 로그인 해주세요!

 

얼래..? 아까 우리가 만들었던 Post틀이 없네요? 

네. migration으로 장고에게 알려줬지만 admin에게는 알려주지 않았죠 ㅎㅎ 

다시  코드창으로 돌아갑시다

내 app안의 admin.py에 등록을 해줘야 합니다!

from .models import Post
# Register your models here.
admin.site.register(Post)

간단 하쥬?

하나의 틀을 만들때마다 저렇게 등록을 해주세요

그리고 다시 http://127.0.0.1:8000/admin/  고고씽

 

이제는 만들어졌네요! 옆에 Add를 눌르면 저희가 만들었던 틀이 나옵니다!

 

 

 

자 내용을 대충 적어줍시다 !

우선 사진은 넣지말구요!

save해보면 이제 저희 글이 올라왔습니다!!

자신을 위해서 박수를 쳐주시구요. 옆에 강아지가 있으면 쓰담해주시고 다시 정신 차립시다.

아까 위에서 models.py작성할때 def__str__(self)해주는 이유 설명드릴게요

             return f'{self.author} :{self.body}'   이거 적어줬쥬?

  저 포스트가 admin:첫 게시물입니다 사진은 안올릴거에요로 출력 되는 겁니다 ㅎㅎ

이제 아~~ 하시는거 다 압니다.

 

아 그리고  관리자 사이트에만 올라온거에요!!

이걸로 CRUD의 CREATE(1)을 완성했습니다!! CREATE(2)는 관리자 사이트가 아닌 일반 페이지에서 하는걸로 다룰거에요.

우선 내가 만든 게시판을 보고 싶으니 READ하고 CREATE(2)를 배워보도록 하겠습니다! 

 

자 눈을 감고 오늘 했던 흐름 순서!! 다시 새겨보세요!

코드야 뭐 구글에 치면 다나오지만 흐름을 모르면 구글에 뭘 검색해야할지도 모릅니다! 

728x90
반응형
Comments