• 장고 - Email 로그인 기능 추가

    |
    • 장고는 기본적으로 username으로 로그인하는 기능 제공
    • username, email 둘 중 하나로 로그인 하도록 커스터마이징 필요
    • 커스텀 모델 백엔드를 추가하여 email, username 로그인 기능 추가 가능
    • 로그인 기능 제어하는 것은 AUTHENTICATION_BACKENDS에 설정된 모델 백엔드를 통해 이루어진다.
  • 장고 - 커스텀 유저 모델 만들기

    |

    1. 커스텀 유저 모델이란?

    • 기존에 있던 User 모델을 확장해서 내가 원하는 추가 필드를 만드는 것
    • User 모델 추가 하기 위해 코어를 수정하게 되면, 호환성 문제 발생 가능(취후의 수단으로 사용할 것)
  • 장고 - EC2에 웹 서버 설정

    |
    • 웹서버 프로그램은 대표적으로 Apache와 Nginx가 있다.
    • 장고 웹 서비스를 구축할 때는 Nginx를 더 많이 사용하는 추세이다.

    EC2 웹 서버 설정 방법

    1. EC2에 SSH로 접속
      1
      $ ssh -i ~/.ssh/[키 페어 파일 이름; django-wps.pem] ubuntu@[퍼블릭 DNS 또는 IP]
  • 장고 - EC2 인스턴스 만들기

    |

    EC2 : Elastic Cloud Computing의 약어로 아마존의 대표적인 서버 인스턴스 서버

    1. 서비스에서 컴퓨팅 -> EC2 선택

    2. EC2 화면이 나타나면 화면 중앙에 있는 [인스턴스 시작] 버튼 클릭

    3. EC2는 다양한 운영체제 사용 가능. 가장 보편적인 웹 서버 운영체제인 리눅스 중에서 Ubuntu Server 18.04 64Bit [선택] 버튼 클릭

  • 장고 - 로그인 권한 부여방법

    |

    방법1. login_required 클래스 사용

    • login_required 클래스를 사용하여 로그인이 필요한 부분에 @login_required 데코레이터를 사용한다.
      • 경로 : (앱 이름) > views.py
        1
        2
        3
        4
        # login_required 클래스 호출
        from django.contrib.auth.decorators import login_required
        # login_required 데코레이터 사용
        @login_required
  • 장고 - Ajax 이용한 댓글 기능 구현

    |

    댓글 생성하기

    1. 상세 글 조회 페이지에 댓글 목록 추가

    • 원하는 위치에 댓글 목록 부분을 작성한다.
    • 경로 : board > templates > board > document_detail.html
      1
      2
      3
      <div id="docs_comment_list_area">
      {% include 'board/comment_list.html' %}
      </div>
  • 장고 - 개발환경에서 이미지 파일 업로드하는 방법

    |

    1. 미디어 경로 설정

    • 프로젝트 설정에서 media url 과 media root를 설정하고 urlpatterns에 그 경로를 지정한다.
    • 경로 : config(프로젝트 명) > settings.py
      1
      2
      3
      4
      MEDIA_URL = '/media/'
      # MEDIA_URL로 사이트 url 설정
      MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
      # 장고에 media라는 폴더 이름 설정