1. 데이터베이스 및 UI 설계하기 인스타그램 UI 구성 데이터베이스 테이블 설계 및 구현 2. 앱 만들기 instagram, accounts 앱 만들기 views.py 분리하기 3. 회원가입 페이지 url view 비밀번호 암호화 함수 구현 - 해시 함수 template 4. 로그인 페이지 url view 세션에 사용자 ID 저장하기 template 4. 로그인 페이지 accounts 앱에서 작업 일단 Django의 인증 기능을 사용하지 않고 구현해보기 4.1 url urlpatterns = [ re_path(r'^register/$', PreRegisterAccountsView, name='pn_reg_accounts'), re_path(r'^login/$', PreLoginView, name='pn..
1. 데이터베이스 및 UI 설계하기 인스타그램 UI 구성 데이터베이스 테이블 설계 및 구현 2. 앱 만들기 instagram, accounts 앱 만들기 views.py 분리하기 3. 회원가입 페이지 url view 비밀번호 암호화 함수 구현 - 해시 함수 template 3. 회원가입 페이지 accounts 앱에서 작업 일단 Django의 인증 기능을 사용하지 않고 구현해보기 3.1 url urlpatterns = [ re_path(r'^register/$', PreRegisterAccountsView, name='pn_reg_accounts'), ] 3.2 PreRegisterAccountsView splitviews 디렉토리에 RegisterAccountsView.py 생성 splitviews 의 ..
1. 데이터베이스 및 UI 설계하기 인스타그램 UI 구성 데이터베이스 테이블 설계 및 구현 2. 앱 만들기 instagram, accounts 앱 만들기 views.py 분리하기 2. 앱 만들기 2.1 instagram, accounts 앱 만들기 python manage.py startapp pystagram python manage.py startapp accounts pystagram: 인스타그램의 주요 화면들을 구현하는 곳 accounts: 계정과 관련된 화면들을 구현하는 곳 앱 생성 후 settings.py 에 등록 INSTALLED_APPS = [ 'pystagram', 'accounts', ] 2.2 views.py 분리 하나의 views.py에 구현하고자 하는 모든 view들을 작성하면 나..
1. CSRF(Cross Site Request Forgery) : 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등) 를 특정 웹사이트에 요청하게 하는 공격 이미 사용자가 접속한 상황에서 요청값을 조작하여 사용자가 원하지 않는 action을 보내 웹 어플리케이션을 악용 사용자의 권한에 따라 위험성이 달라짐 2. 공격 과정 간단한 예시 공격자는 도구를 사용해 새글 등록 요청 발생시 어떤 파라미터가 전달되는지 확인한다. (동작 구조 사전 파악) 공격자는 게시글에 태그를 이용해 보이지 않는 게시글을 남긴다. ex) 피해자가 해당 웹사이트에 접속하여 공격자가 남긴 게시글에 들어간다. 들어가는 순간 태그로 만든 숨겨진 GET Request가 동작한다...
1. URL Reverse : view 함수를 사용하여 URL을 역으로 계산하는 것 개발자가 일일이 URL을 외워 하드코딩하지 않아도 된다. URL이 변경되어도, URL Reverse가 변경된 URL을 추적한다. 누락될 위험 감소 유지보수가 용이해짐 즉, urls.py에서 정의한 url pattern의 name만 알고 있다면 view 함수를 통해 매칭되는 url을 찾아 이를 전달받을 수 있다. 2. URL Reverse를 수행하는 4가지 함수 2-1. reverse() 전달받은 인수(name)와 매칭되는 url을 반환 매칭되는 url이 없는 경우 NoReverseMatch 예외 발생 reverse('bookmark:list') print(reverse('bookmark:list')) >>> /bookma..
Django 프로젝트를 생성하게 되면 다양한 기본 설정이 담겨있는 settings.py도 함께 생성된다. 그 중 SECRET_KEY가 있는 것을 볼 수 있다. 데이터베이스 연결 정보나 AWS 관련 정보에 비해 별로 중요하지 않을 것 같지만 그렇지 않다. SECRET_KEY는 무려 Django의 보안 기능에 활용되기 때문이다. (공식문서 참조) 따라서, SECRET_KEY도 별도의 파일을 만들어 settings.py에서 분리하고 settings.py가 이 파일을 읽어와 사용할 수 있도록 해야한다. 1. secrets.json 파일 생성 먼저, SECRET_KEY를 settings.py에서 분리할 json 포맷의 파일을 생성한다. 이 때, manage.py와 같은 선상에 있도록 파일을 생성한다. 파일의 이름..
1. HttpResponse VS HttpResponseRedirect HttpResponse HttpResponse() : HttpResponse 객체를 반환 HTTP코드가 200이고 생성자로 전달된 컨텐츠를 포함한 HttpResponse 객체 생성 보통 작은 response에서만 사용 (ajax로 받은 데이터나, 작은 number 등) from django.http import HttpResponse def index(request): return HttpResponse("What do you do in your free time?") HttpResponseRedirect HttpResponseRedirect() : 주어진 url로 redirection HTTP코드가 302(Found/Moved te..
1. 데이터베이스 및 UI 설계하기 인스타그램 UI 구성 데이터베이스 테이블 설계 및 구현 2. 앱 만들기 instagram, accounts 앱 만들기 views.py 분리하기 3. 회원가입 페이지 url view template 4. 로그인 페이지 url view template SNS 계정 연동 5. 메인 페이지 url view template 무한 스크롤 댓글 쓰기 좋아요 버튼(게시글 / 댓글) 6. 나의 포스팅 리스트 페이지 url view 이미지 media 폴더에 업로드 template 게시글 수, 팔로잉 수, 팔로워 수 다른 사용자의 페이지인 경우, 팔로우 버튼 비공개 계정인 경우, 팔로잉 한 사람만 보이도록 7. 포스팅 상세 페이지 url view template 게시글 삭제 버튼 8. 포..
- Total
- Today
- Yesterday
- Django 검색
- Django 어플리케이션
- Django 좋아요
- Django 댓글
- Django 해시태그
- Django 회원가입
- Django 회원 정보 수정
- Django User
- MySQL
- java
- Django 인스타그램
- 파이썬
- Django 프로젝트 생성
- Django 북마크
- 장고
- python
- Redis
- Django 팔로우
- Django 로그인
- Django 비밀번호 수정
- 북마크 어플리케이션
- Django 컬렉션
- Django
- Django 업로드
- Redis Cache
- Django 로그아웃
- Django Instagram
- Django application
- 서점 어플리케이션
- query parameter
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |