• 장고 - 게시판 댓글 기능 적용

    |

    ex) 게시판 프로젝트(board_project)

    1. 특정 페이지에서 댓글 템플릿 연동

    • 댓글 목록의 template 따로 생성 (댓글 부분 페이지네이션 필요하기 때문)
    • 경로 : templates > board > comment_list.html
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      <table class="table table-striped">
      <thead>
      <tr>
      <th colspan="3" class="align-left">댓글 목록</th>
      </tr>
      </thead>
      {% for comment in comments %}
      <tr>
      <td>{{comment.text}}</td>
      <td>{{comment.author.username}}</td>
      <td>{{comment.created}}</td>
      </tr>
      {% endfor %}
      </table>
  • 장고 - SNS 네이버 로그인 기능 학습

    |

    django allauth 기능 사용

    1. django-allauth 설치

    • pip install django-allauth

    2. settings.py 수정

    • 아이디, 이메일, 소셜 로그인 가능하도록 설정
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      AUTHENTICATION_BACKENDS = (
      'django.contrib.auth.backends.ModelBackend',
      'allauth.account.auth_backends.AuthenticationBackend',
      )

      INSTALLED_APP = [
      'django.contrib.sites',
      # 소셜 로그인을 관리하기 위해 기본으로 생기는 앱들
      'allauth',
      'allauth.account',
      'allauth.socialaccount',
      'allauth.socialaccount.providers.naver',

      SITE_ID = 1

      # 로그인 후에 이동할 경로 추가
      LOGIN_REDIRECT_URL = '/'
      ]
  • 장고 - Pythonanywhere 이용한 배포

    |

    1. Github 업로드

    • Github - new repository 생성
    • 해당 repo 주소 복사
    • 경로 : 프로젝트 디렉토리 위치
      • git init
      • git add -A . (git add 하기 전에 .gitignore 폴더 생성하여 git에 올리지 않을 항목 입력)
      • git commit -m ‘message’
      • git remote add origin ‘repo 주소’ (해당 repo주소를 ‘origin’으로 설정)
      • git push -u origin master
  • 장고 - disqus 연동한 댓글 기능 적용

    |

    1. disqus.com 접속

    • 회원가입 및 로그인
    • ‘I want to install isqus in my site’ 클릭
    • Basic > ‘subscribe now’ 클릭
    • 플랫폼 선택(보이지 않는다면, ‘I don’t see~’ 클릭)
    • 최하단 ‘Configure’ 클릭
    • 변경할 것이 특별히 없다면 최하단 ‘Complete Setup’ 클릭



  • 장고 - Signal 학습

    |

    Signal이란?

    • 특정 액션이 발생하면 그 후에 발생하는 이벤트 (django를 포함한 여러 프레임워크에 존재)
    • 저장하기 전/후, 삭제하기 전/후 등 특정 signal이 웹 어플리케이션에 전달
    • 예로, 회원가입 후 ‘축하합니다’ 메일 보낼 때 signal이 사용된다.
    • Signal 종류
      • pre_save : 저장 전, 실행
      • post_save : 저장 후, 실행
      • pre_delete : 삭제 전, 실행
      • post_save : 삭제 후, 실행



  • 장고 - Ajax 기초 학습

    |

    1. Ajax 정의

    Ajax(Asynchronous JavaScript and XML)

    • JavaScript를 사용한 비동기 통신, 클라이언트와 서버 간에 XML 데이터를 주고받는 기술
    • JavaScript 라이브러리
    • 빠르게 동작하는 동적인 웹 페이지를 만들기 위한 개발 기법



  • 장고 - AWS Route 53 연결 및 RDS 연동 방법

    |

    1. AWS > 네트워킹 및 콘텐츠 전송 > Route 53

    보유한 도메인의 네임서버를 설정해주는 작업을 수행할 것이다.

    • DNS 관리 시작
    • 호스팅 영역 생성 > 도메인 이름 입력 > 생성
    • 해당 도메인 선택 > TTL 설정(ex. 1분)
    • NS 유형의 value 복사하여 도메인 웹호스팅 사이트(가비아)에 네임서버로 설정

    2. HTTP로 연결 (https는 개인키, 공용키 구입 필요)

    경로 : dstagram_project > config > settings.py

    AWS_S3_SECURE_URLS = False



  • 장고 - AWS S3 연동 방법

    |

    1. AWS > 서비스 > 스토리지 > S3 접속

    • 버킷 생성
      • 버킷 이름 설정 (ex. media.wpsschool.site)
      • 지역 > ‘아시아 태평양(서울)’ 설정
      • ‘이 버킷의 퍼블릭 액세스 설정’ 4개 항목 체크 해제
      • ‘시스템 권한 관리’ 액세스 권한 부여
      • 버킷 만들기
      • 속성 > 정적 웹 사이트 호스팅 > ‘이 버킷을 사용하여 웹 사이트를 호스팅합니다.’ > 인덱스 문서, 오류문서 작성 > 저장



  • 장고 - 북마크 프로젝트_배포(heroku)

    |

    1. heroku 다운로드 및 설치

    2. 추가 모듈 설치

    경로 : bookmark_project > pip3 install [모듈명]

    • dj-database-url : 데이터베이스 관련 옵션을 변수로 쉽게 접근할 수 있게 해주는 유틸리티
    • gunicorn : wsgi용 미들웨어 –> 웹서버와 장고 사리의 다리 역할
    • whitenoise : static 파일 서빙용 미들웨어
    • psycopg2-binary : postgreSQL용 드라이버