Django(14)

9mond·2023년 11월 13일
0
post-thumbnail

1. 헤더부분 수정 base.html

  • blog
  • 나머지도 경로 설정해준다.

2. 네비게이션바 모듈화작업




  • 내부바에 붙여넣기

3. 풋터

  • footer.html만들어주고
  • 내부를 비워준다.
  • 잘라내서 footer.html에 붙여넣어준다.

4. Relations - 다대일 관계

  • 작성자 만들기를 할거다.
  • 현재는 admin 계정 밖에 없다. -> super user(관리자)
  • 일반회원과 관리자를 구별할 수 있어야 한다.
  • password는 저런식으로 암호화 된다.-> 정보보안 관련(면접 때 공부 필요)

4-1. from django.contrib.auth.models import User

  • models.py에 import
  • django에서 제공하는 User 모델이다.
  • 사용자 인증 및 권한 부여를 위해 일반적으로 사용된다.
  • Post(자식객체)에서 User(부모객체)를 바라보도록 FK를 걸어준다.
  • on_delete=models.CASCADE : 외래키 필드와 연결된 객체가 삭제되면 해당 객체와 관련된 모든 객체도 함께 삭제된다.
  • makemigrations, migreate 작업을 해준다.
  • 이런 경고 창이 뜬다.
  • 이거 추가
  • 그럼 이제 makemigrations, migreate가 잘된다.
  • auth_user가 생겼고 연결이 잘 됐다.
  • SELECT * FROM blog_post bp;

  • Author select box가 생겼다.

  • james라는 관리자를 등록해보자

  • 잘 등록이 됐다. staff status는 기본으로 설정했기 때문에 저렇게 뜬다.


  • 삭제

  • 사용자 이름을 게시글에 보여주기(post_list)

  • post_detail도

4-2. ForeignKey 필드 참조 옵션

  • CASCADE(기본값)
    -> 참조하는 객체가 삭제될 때, 해당 참조를 가진 객체도 함께 삭제된다.
    -> 연쇄적으로 삭제된다.

  • SET_NULL
    -> 참조하는 객체가 삭제될 때, 해당 필드를 NULL로 설정한다.
    -> 대신, NULL값이 들어갈 수 있도록 NULLABLE 옵션을 가지고 있어야 한다.

  • DO_NOTHING
    -> 아무런 작업을 수행하지 않는다.

5. 카테고리

  • post: 자식테이블 , category: 부모테이블

  • allow_unicode=True : 한글을 포함한 모든 유니코드 문자를 지원한다.

  • Category가 오류

  • 저걸 Post 위로 올려주면 됨

  • import 시켜주고 Category를 추가해준다.


  • Categorys로 오타가 난다.(내부적으로 s를 붙여줘서 그렇다)

  • 이 코드로 수정

  • 잘 수정이 됐다.

profile
개발자

0개의 댓글