본문 바로가기 메뉴 바로가기

호로록

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

호로록

검색하기 폼
  • 분류 전체보기 (193)
    • MFC (0)
    • 알고리즘 (122)
      • C++ (93)
      • C (29)
    • 클라우드 (0)
    • django project (42)
      • 커뮤니티 (10)
      • 쇼핑몰 (11)
      • 블로그 (13)
      • 인스타그램 (7)
    • python (11)
    • 아무거나 (0)
    • git Error Handling (1)
    • 데이터 시각화 (12)
  • 방명록

django project (42)
[django 인스타그램] 홈화면, TemplateView, 팔로우 게시글 목록, 인스타그램 메인 화면

contents / views.py 홈화면에는 상단 메뉴바, 게시글 올리기, 게시물들 목록으로 구성된다. 게시물 목록에는 내가 올린 게시물과 내가 팔로우하는 사람들의 게시물이 포함된다. 나의 FollowRelation 객체를 가져와서 그 중에 followee 필드 값의 id들을 리스트로 만들어 followees에 저장하여 내가 팔로우하는 사람들의 정보를 구한다. 내 아이디와 위에서 구한 followee 아이디 값을 lookup_user_ids 에 저장한다. lookup_user_ids 값으로 필터를 걸고, 그에 해당하는 게시글을 저장한다. home.html 템플릿과 함께 context를 렌더링한다. @method_decorator(login_required, name = "dispatch") class ..

django project/인스타그램 2020. 2. 13. 13:51
[django 인스타그램] 친구목록 ( 팔로우, 언팔로우, 사용자 검색, TemplateView, 사용자 정보 가져오는 API )

이제 친구목록 페이지를 만든다. 이 페이지에는 나를 팔로우하는 사람, 내가 팔로우하는 사람을 출력하고, 원하는 사용자를 찾을 수 있도록 검색창으로 구성한다. contents / views.py 친구목록 페이지를 구성하는 로직이다. 장고에서 제공하는 TemplateView를 상속받아 template_name 에 지정된 템플릿으로 렌더링할 수 있도록 한다. 그 전에 get_context_data 함수를 이용하여 기존에 보내지던 데이터에 필요한 정보를 더 추가해서 템플릿으로 넘겨준다. 여기서 필요한 정보는 내가 팔로우하는 사람들, 나를 팔로우하는 사람들에 대한 정보이다. 내가 팔로우하는 사용자 찾기 try: 내가 주체가 되는 FollowRelation 객체에서 followee 값(=> 내가 팔로우하는 사람들)..

django project/인스타그램 2020. 2. 13. 13:24
[django 인스타그램] FollowRelation modeling, 팔로우 API, 언팔로우 API

contents / models.py class FollowRelation(BaseModel): follower = models.OneToOneField(User, related_name = 'follower', on_delete = models.CASCADE) followee = models.ManyToManyField(User, related_name = 'followee') 인스타그램의 가장 큰 포인트인 팔로우 언팔로우 기능을 구현한다. 평소에 follower : 나를 팔로우하는 사람 followee : 내가 팔로우하는 사람 으로 나눠서 의미를 구분했지만 여기서는 follower , followee 의 의미보다는 follow 자체의 의미에 집중해서 생각하는 것이 더 이해하기 쉽다. FollowRel..

django project/인스타그램 2020. 2. 13. 11:54
[django 인스타그램] 게시글 컨텐츠, 모델링, ContentCreateView API, 이미지 업로드, templates, dropzone

게시글에 대한 앱 'contents' 을 만든다. settings.py INSTALLED_APPS 에 추가하는 것도 잊지 않기 python manage.py startapp contents contents / models.py 인스타그램에 게시하는 게시물들 즉 컨텐츠에 대한 모델을 생성한다. 생성시간, 수정시간에 대한 추상화모델을 BaseModel로 만든다. from django.db import models from django.contrib.auth.models import User import os import uuid class BaseModel(models.Model): created_at = models.DateTimeField(auto_now_add = True) modified_at = m..

django project/인스타그램 2020. 2. 11. 17:20
[django 인스타그램] 로그인 API, 로그아웃 API ( jQuery, NonUserTemplateView, authenticate)

jiheestagram / urls.py urlpatterns = [ path('', TemplateView.as_view(template_name = 'home.html'), name = 'home'), path('login/', NonUserTemplateView.as_view(template_name = 'login.html'), name = "login"), path('logout/', UserLogoutView.as_view(), name = "logout"), ] 로그인 로그아웃 경로를 설정한다. 로그아웃은 사용자 접근을 제한할 필요가 없으니 그냥 View로 연결한다. 홈화면은 임시로 현재 로그인한 유저 아이디를 출력하도록 한다. templates / home.html {{ request.us..

django project/인스타그램 2020. 2. 9. 19:27
[django 인스타그램] 회원가입 API 만들기 (NonUserTemplateView, CBV, dispatch, jQuery )

jiheestagram / urls.py from django.contrib import admin from django.urls import path, include from django.views.generic import TemplateView from django.shortcuts import redirect class NonUserTemplateView(TemplateView): def dispatch(self, request, *args, **kwargs): if not request.user.is_anonymous: return reidrect('home') return super(NonUserTemplateView, self).dispatch(request, *args, **kwargs) ..

django project/인스타그램 2020. 2. 9. 18:31
[django 인스타그램] Base API View 만들기(CBV, @csrf_exempt, @staticmethod, api JSON )

apis/views.py from django.shortcuts import render from django.views import View from django.utils.decorators import method_decorator from django.views.decorators.csrf import csrf_exempt from django.http import JsonResponse @method_decorator(csrf_exempt, name = "dispatch") class BaseView(View): @staticmethod def response(data = {}, message = '', status = 200): result = { 'data' : data, 'message' ..

django project/인스타그램 2020. 2. 9. 16:34
[django 블로그] AWS EC2 배포하기 (2) - PuTTY, PuTTYgen 으로 우분투 서버 접속하기 , ssh 접속하기

Window에서 리눅스 인스턴스에 접속하려면 SSH포트를 이용해야 한다. 하지만 윈도우에서는 SSH 를 지원하지 않기 때문에, 윈도우에서 리눅스 인스턴스에 연결하기 위해서는 PuTTY 프로그램을 사용해야한다. (1) 퍼블릭 DNS - 연보라색 부분의 퍼블릭 DNS 값을 미리 저장해놓는 것이 좋다. (2) PuTTYgen.exe - Load 클릭 > 인스턴스를 생성하면서 만든 키 페어 파일 pem 로드 (3) PuTTY.exe - Connection > SSH > Auth > Browse > ppk 파일 선택 - PuTTYgen.exe 에서 생성한 ppk 파일 선택 - 이 때, 바로 Open 누르면 안된다. - 바로 Open 누르지 말고 Session 탭으로 넘어와서 (1) 에서 확인한 연보라색 퍼블릭 D..

django project/블로그 2020. 2. 6. 18:09
이전 1 2 3 4 ··· 6 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 알파벳 카운팅
  • 테이블출력안됨
  • 장고 태그달기
  • pythonanywhere배포
  • 장고 게시판
  • iOS 검은 화면
  • Firebase 데이터베이스 추천
  • django tag
  • django 개발일지
  • django pythoneverywhere
  • Realtime Database
  • django 게시판
  • 웹 배포
  • pythonanywhere배포방법
  • 데이터베이스 추천
  • 실시간 데이터베이스
  • python 웹 배포
  • ModelForm Form 차이
  • CellForRowAt 호출안됨
  • iOS UITableView 출력안됨
  • cleaned_data
  • django 로그인접근
  • django 태그
  • 까만 화면
  • CellForRowAt Not Called
  • iOS 데이터베이스
  • UITableViewController Not Working
  • Django
  • iOS 화면 안나옴
  • django clean
more
«   2025/05   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바