본문 바로가기

DEV/Web 개발97

Web 개발 :: Django rest framework, front-end_TIL#42 ■ JITHub 개발일지 42일차 □ TIL(Today I Learned) :: 파이썬, Django rest framework, front-end - 파이썬 drf를 활용해서 기본적인 user 환경을 만들어보고, frontend index화면을 javascript를 활용하여 연결해보았다. - 로그인 화면에서 from 태그를 이용하여 사용자로부터 내용을 입력받고, 특정 명령을 줄 때에는 button을 활용하였다. 이 때, onclick 옵션을 통해 javascript에서 정의해준 function을 불러오게 하였다. ... 로그인 페이지 제출 모크 api 로그아웃 - 자바스크립트에서 페이지를 잘 불러왔는지 확인할 때에는 아래와 같이 window.onload를 사용했다. 이 때 arrow function을 .. 2022. 11. 2.
Web 개발 :: 파이썬 Django Rest Framework(8) _ 게시글 생성 DRF(Django Rest Framework)(8) _ 게시글 생성 01. 게시글 기본 환경 세팅하기 - 지난번 포스팅에 이어 게시글 환경을 만들고자 한다. - django 프로젝트로 돌아와서 articles라는 앱을 생성하고, urls, views, models를 정의해준다. # articles/urls.py from django.urls import path from articles import views urlpatterns = [ path('', views.ArticleView.as_view(), name='article_view'), path('/', views.ArticleDetailView.as_view(), name='article_detail_view'), path('comment/',.. 2022. 11. 1.
Web 개발 :: django, get_object_or_404, get_list_or_404_TIL#41 ■ JITHub 개발일지 41일차 □ TIL(Today I Learned) :: DRF, get_object_or_404, get_list_or_404 - Problem) 여러 개의 Article을 가져오고 싶은데 objects.all()이 아니라 리턴 결과가 비어있을 경우 404에러를 발생시킬 수 있도록 get_object_or_404를 사용해보려 했다. 저장된 articles를 가져와야하는데 get_object_or_404.all()을 사용하려니 multipleObjectsReturned at 에러가 발생했다. - Reason) 이유를 살펴보니 get_object_or_404는 하나의 object만을 가져올 때 사용하는 모듈이었다. 즉, 여러개의 object들을 호출할 수 없었다. - Solution.. 2022. 10. 31.
Web 개발 :: 파이썬 Django Rest Framework(7) _ 회원가입, 로그인(Front-End) DRF(Django Rest Framework)(7) _ 회원가입 기능(Front-End) 01. 회원가입 기능 만들기 - 이제 Front-End 부분까지 연결하여 회원가입 기능을 완성해보려 한다. - 아래 window.onload는 자바스크립트가 제대로 참조되어 시행되었는지 검사(F12)창의 콘솔에서 확인하고자 할 때 유용하게 사용할 수 있다. window.onload = ()=>{ console.log("로딩되었음") } - 아래와 같이 인덱스 페이지를 만들고 자바스크립트를 활용하여 회원가입시 입력된 내용을 POST 해보려한다. 회원가입 페이지 제출 - 자바스크립트는 api.js로 만들고 아래와 같이 코드를 짰다. window.onload는 api.js가 정상적으로 로드되었는지 콘솔창에서 확인하기 위.. 2022. 10. 31.
Web 개발 :: 파이썬 Django Rest Framework(6) _ token, permission DRF(Django Rest Framework)(6) _ token, permission 01. JWT Payload Customizing - 이제 JWT에서 확인할 수 있는 Payload란을 커스터마이징해보려 한다. 해당내용은 참고 링크의 공식문서 Customizing token claims를 참고해도 된다.(※ 참고 링크) - 먼저 views.py에는 CustomTokenObtainPariSerializer라는 클래스를 만든다. 이 때 TokenObtainPairView를 임포트한다. # users/views.py ... from rest_framework_simplejwt.views import (TokenObtainPairView) from users.serializers import UserSe.. 2022. 10. 30.
파이썬/머신러닝 웹 프로그래밍 :: 10월 다섯째주 WIL #09 ■ 개발일지 WIL #09 1. FACTS - 장고 머신러닝 프로젝트 code review : 장고 머신러닝 프로젝트 코드 리뷰를 진행하였다. : 현재까지 구현한 기능은 아래와 같다 - User signin/signup/logout/follow, POST list/create/update/delete/like, Comment list/create/update/delete, : 아직 남은 기능들이 있다. (검색, 좋아요만 모아보기, 알림, 머신러닝 기능 등) - DRF(Django Rest Framework) 강의 및 실습 : DRF 강의는 많이 듣지 못했다. : 전반적인 내용으로 볼 때 웹 개발에서 FE와 BE를 구분하여 장고를 더 편리하고 깔끔하게 작업할 수 있도록 하는 것으로 생각된다. Seriali.. 2022. 10. 29.
Web 개발 :: 파이썬 Django Rest Framework(5) _ CustomUser 등록 및 회원가입 DRF(Django Rest Framework)(5) _ CustomUser 등록 및 회원가입 01. 커스텀 유저 생성하기 - 유저 생성시 들어가야 하는 정보를 커스터마이징 하려고 한다. (※ 참고 링크) 일단 위 참고 링크(* 장고 공식 문서, Customizing authentication in Django)에서 맨 아래쪽 A full example을 보면 아래와 같은 화면을 확인할 수 있다. 코드를 복사해서 가져온 후 입맛에 맞게 커스터마이징 하면 된다. - 유저 모델을 장고 프로젝트에서 관리하기 위해 settings.py의 AUTH_USER_MODEL = 'users.User'로 정의한다. 02. 커스텀 유저 Admin에 등록하기 - Admin 페이지에서 모델을 관리하기 위해 admin.py에 아.. 2022. 10. 29.
Web 개발 :: Django 머신러닝 프로젝트 Code Review _ User_TIL#40 ■ JITHub 개발일지 40일차 □ TIL(Today I Learned) :: Django 머신러닝 프로젝트 Code Review 1) 게시글(post) 업데이트/삭제 기능 구현 - 게시글 업데이트나 삭제는 게시글 상세페이지와 동일하게 특정 게시글이 존재한다. 이 때문에 url에도 를 넣어주어 특정 포스트의 id를 활용하도록 한다. # post/urls.py urlpatterns = [ path('', views.index, name='index'), path('post/create/', views.post_create, name='post-create'), path('post/detail//', views.post_detail, name='post-detail'), path('post/update//.. 2022. 10. 29.
Web 개발 :: Django 개발 중 소소하게 알게된 점 _ User_TIL#39 ■ JITHub 개발일지 39일차 □ TIL(Today I Learned) :: Django 개발 중 소소하게 알게된 점 - 아래 코드의 4번째 줄을 보면 트레일링 슬래시가 없다. 잘 눈에 띄지 않지만 입력과정에서 실수로 인해 누락이 될 수 있는데, 이럴 경우 해당 경로를 request하면 404 에러가 발생할 수 있다. 404에러가 발생했을 때 정말 페이지가 없는지, 페이지로 연결은 정상적으로 되고 있는지 등 원인들이 많은데 정확한 원인분석을 위한 케이스들을 많이 익힐 필요가 있겠다는 생각이 들었다. urlpatterns = [ path('', views.ArticleView.as_view(), name='article_view'), path('/', views.ArticleDetailView.as_v.. 2022. 10. 28.
Web 개발 :: 파이썬 Django Rest Framework(4) _로그인 방식 및 jwt 토큰 DRF(Django Rest Framework)(4) _ 로그인 방식 및 jwt 토큰 01. 로그인 방식 차이(세션 방식, 토큰 방식) - 이전 Django 프로젝트들에서 사용되었던 authenticate는 user signup을 완료했을 경우 db에 session(key, data, expire date)을 생성한다. 그리고 클라이언트에 돌려주는 Response에서는 쿠키에 세션키를 저장하여 돌려보내준다. - 쿠키방식의 경우 단점으로는 연결이 stateless하지 않다. 즉, 연결이 지속적이지 않고 db에 세션들이 계속 쌓이게 되고 매번 조회를 해야 하기 때문에 트래픽이 많아질 경우 부하가 많이 걸린다. - 토큰방식은 사용자의 정보가 담겨져있는 토큰을 전달하여 브라우저에서는 local storage에 .. 2022. 10. 28.
반응형