Bookmark 앱은 자주 방문하는 사이트를 등록해 두었다가 나중에 그 사이트에 재방문할 때 쉽게 찾아갈 수 있게 해주는 앱이다. UI 설계 테이블 설계 Model 'TITLE', 'URL'은 별칭으로 Admin 사이트에서 이 문구가 사용된다. \str\() 함수는 객체(테이블에 들어 있는 레코드 하나)를 문자열로 표현할 때 사용하는 함수로 꼭 정의...
글 등록/열람 태그 기능 댓글 기능 검색 기능 콘텐츠 생성 및 편집 UI 설계 테이블 설계 URL 설계 코딩 순서 뼈대 만들기 - 이미 bookmarkapp에서 했으므로 패쓰 startproejct setting.py 설정 migrate createsuperuser
GNB(Global Navigation Bar) 메인 메뉴와 본문, 바닥글로 이루어져 있다. URLconf 첫 페이지 설계이므로 URLconf에서 루트 URL 처리 로직만 설계하면 된다. View HomeView 코딩 애플리케이션이 아닌 프로젝트와 관련된 뷰이므로 BookMarkApp/views.py을 새로 만들어 코딩한다. Templates 프로...
각 포스트마다 태그를 달 수 있는 기능으로 태그를 달고 태그별로 포스트의 리스트를 보여주며 태그 클라우드를 만든다. 태그 기능을 제공하는 많은 오픈소스 중에 django-taggit 패키지를 이용할 것이고, 탬플릿 태그 및 태그 클라우드 기능이 추가된 django-taggit-templatetag2 패키지도 같이 사용할 것이다. 설계 UI 기존 포스트 상...
유연하고 확장성 높은 오픈소스 플랫폼 Disqus 앱(DISQUS에서 제공하는 자바스크립트 코드)를 사용한다. DISQUS 플랫폼을 사용하기 위해서는 DISQUS 홈페이지에서 댓글을 사용할 우리 프로젝트에 대해 필요한 사항을 설정해줘야 한다. disqus 앱은 DISQUS 플랫폼과의 연동을 통해 즉, DISQUS 사이트에서 제공하는 웹 서비스를 통해 댓...
검색 기능도 블로그 앱에서 자주 쓰는 기능이므로 오픈 소스로 제공하는 패키지가 많다. 구글 검색 기능을 제공해주는 패키지도 있고, AJAX 기능으로 검색해주는 패키지도 있다. 블로그 앱 내에서의 검색 기능 정도는 장고 자체의 Q-객체(테이블에 대한 복잡한 쿼리를 처리하기 위한 객체)를 이용하면 간단히 구현할 수 있다. 검색 기능을 위해 검색 단어를 입력...
사진들을 앨범으로 그룹화해 관리하고 각 사진에 대한 정보를 등록하고 열람할 수 있는 Photo 앱 개발 사진의 썸네일을 처리하기 위해 새로운 커스텀 필드가 필요하므로, Pillow 라이브러리를 활용해서 커스텀 필드를 작성해야 한다. 설계 테이블 설계 Album 테이블 Photo 테이블 하나의 앨범은 여러 개의 사진을 가질 수 있고, 하나의 사진은 하...
웹 개발 시 필수 기능인 인증 기능은 일반적으로 로그인 시 username/password를 인증하는 것 외에도 로그인한 사용자에 대한 권한 부여와 웹 요청에 따른 사용자 식별, 사용자별 세션 할당 및 관리 기능 등 세션 처리 기능까지 포함된다. 테이블 설계 - 장고 기본 기능 사용 장고에서 제공하는 User 테이블을 기본으로 사용한다. User 테이블...
각 앱의 DB에 들어 있는 레코드들을 장고에서는 콘텐츠라고 지칭하는데 이를 Admin 사이트에서 관리자만이 콘텐츠를 생성, 변경할 수 있었다. 일반 사용자들도 콘텐츠를 생성 및 변경할 수 있도록 한다. but, 콘텐츠 생성 및 변경하는 권한을 모든 사용자에게 부여해서는 안된다. 콘텐츠에 대한 열람은 모든 사용자가 가능하다. 콘텐츠를 새로 생성하는 것은 ...
Album 및 Photo 2개의 테이블 각각의 콘텐츠 편집 기능을 구현한다. 이전의 Add와 Change 기능 구현과 비슷하지만 Album과 Photo 테이블이 1:N 관계로 연결되어 있는 점을 고려해야 한다. URL 설계 모델 코딩 Album 및 Photo 테이블에 owner 필드를 추가해준다. Album과 User 테이블 간 관계 및 Photo와 ...