[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 9 회차 미션

2020. 11. 10. 16:54Coding/Python-Fastcampus

728x90

05. 게시판 - 01. 게시판 만들기 - 1

board_list.html

django에서 자동으로 생성해놨던 board폴더에 templates폴더를 만들고 진행.
base.html을 가져오고
board_list.html을 만든다.

 

board_list.html
프로젝트의 urls.py
board의 urls.py
views.py


1.프로젝트의 urls.py에 등록(board앱을 최초로 만든라 등록해줘야됨.)
2.board의 urls.py에 등록
3.views.py에 랜더링하는 함수 등록.

 

 

 


Board Admin등록.

models.py
views.py
admin.py

기본적으로 형태는 Fcuser때와 동일하므로 복사해서 써도 무방하다.

1.Board모델을 생성.
 - 생성후, python manage.py makemigrations와 python manage.py migrate를 해서 migration작업을 해줘야함.

2.views.py에서 Board모델에 접근하여 데이터를 받아오고 html에 출력
 - order_by('-id')는 id를 기준으로 불러오는데 '-'마이너스를 넣으면 역순이된다.(내림차순, 최신이 맨위로)

3.admin에 등록.

 


Board를 List로 만들기.

board_list.html

{{for}}를 이용해서 boards로 받아온 내용을 하나씩 출력한다.

 

 


05. 게시판 - 02. 게시판 만들기 - 2

글쓰기.

forms.py
views.py
board_write.html
urls.py

1.forms를 만들어서 코드로 글쓰기 페이지의 형태를 만든다.
2.views에서 forms에서 만든 BoardForm()으로 랜더링을 해준다. (아직board_write.html은 없다)
3.board_write.html을 만들고, contents를 입력하는 <textarea>태그를 따로 처리해줘야한다.
4.마지막으로 urls에 주소를 등록하고, views와 연결해주면 끝.

 

 


사용자(글쓴이) 설정과 글쓰기.

views.py

1. POST인지 GET인지 구분.
2. form.is_valid()로 페이지 호출시 유효성 검증
3. 누가 글을 쓰는지 알아야 하기 때문에, session을 통해서 fcuser값을 가져옴.
4. board에 title, contents, writer정보를 넣음.
5. .save()로 db에 저장.
6. 글 작성후에 board_list페이지로 이동.

 

 


상세 페이지(쓴 글 보기)

board_detail.html
views.py
urls.py

 

1. html 페이지 작성
2. view에서 랜더링 부분 작성,
  추가로 request뿐만 아니라 pk라는 값을 받음.
  pk는 상세보기할 글 번호를 나타냄.
3. urls에 추가, 여기서 pk를 받아오는 코드 작성.

(아직은 글을 클릭했을때 pk를 자동으로 불러오는게 아니고, 주소창에 입력하는 방식, 주소창에서 pk값을 가져오는 것에 집중.)
(pk를 통해 board를 가져오는 방식에 집중.)

 

구현화면

 

 

 


04. 자료형 - 04. 문자열 및 연산자(2)

문자열 함수.

www.w3schools.com/python/python_ref_string.asp

 

Python String Methods

Python String Methods Python has a set of built-in methods that you can use on strings. Note: All string methods returns new values. They do not change the original string. Method Description capitalize()Converts the first character to upper case casefold(

www.w3schools.com


a = 'Niceman'
b = 'orange'

 

소문자인지
print(a.islower())
>false

print(b.islower())
>True

 

끝에가 e로 끝나는지
print(a.endswith('e'))
>false

print(b.endswith('e'))
>True

 

첫글자만 대문자로
print(b.capitalize())
>Orange

 

글자 뒤집기
print(reversed(b))
> 이렇게하면 이상한 주소값만나옴.

print(list(reversed(b)))
>['e','g','n','a','r','o']

 

특정 부분만 추출
print(a[0:4]) / print(a[:4]) 
>Nice

print(a[:])
>Niceman

 

글자 뒤집기
print(b[::-1])
>egnaro

 

 

 

 

 

올인원 패키지 : 파이썬 웹 개발👉https://bit.ly/33a7nvc

728x90