get_user_model()을 많이 쓰는데, get_user_model에 대한 정리는 산발적으로 되어있다. 따라서 내가 여러 개념 들을 정리하고 축약해서 정리해보겠다. 당연히 User에 대해 간단히 우선적으로 알아보자. 상세산 설명은 여기를 눌러보자. User 우리는 웹을 만들 때 회원관리를 위해 user를 DB에 넣어야 할 것이다. 이 때 기본적으로 User를 장고가 제공을 한다. 우선 장고 내부의 User가 어떻게 구현되어 있는지를 확인하자. User가 가진 기능은 거의 없다. 대부분의 속성은 User가 가지고 있는게 아니라 User가 상속받는 AbstractUser가 다 가지고 있다. 즉, User는 기능이 없는 깡통 수준이고, 장고 내부에 세팅된 값이라 변경도 불가능하다. 그렇기 때문에 User..
0. 들어가면서 이 부분에서는 JWT를 쓰는 당위성에 대해 적어 보겠다. 코드만 보려면 긴 글을 읽지 않아도 된다. 일단 JWT를 왜 쓰는가에 대해 간단히 적어보겠다. 우리는 로그인, 로그아웃, 즉, 사용자의 인증정보를 관리하기 위해 검색을 하고 있는 것이다. 사용자 인증 정보는 세션 기반 인증과 토큰 기반 인증이 있는데, 세션 기반 인증은 유저가 로그인을 하면 서버 쪽에서 로그인 중이라고 기억을 하고 있는 것이다. 이렇게 되면 로그인 유저가 많아아 질 경우 성능에 무리가 간다. 그러면 토큰은 이러한 문제점이 없을까? 토큰은 로그인 시 유저에게 토큰을 발급해준다. 즉, 서버쪽에서 저장을 하지 않기 때문에 서버 확장 시 매우 용이해진다. 왜냐하면 서버를 확장하여 분산되어 있어도 토큰을 서버에 요청을 하면 ..
0. 들어가면서 좋아요 기능은 Article(게시글)과 User(사용자)와의 관계이다. 기본적으로 우리는 N:M이기 때문에 manytomanyfield를 사용하여 models.py를 아래와 같이 꾸밀 것이다. class Article(models.Model): title = models.CharField(max_length=100) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) use..
0. 들어가면서 '[Django]데이터베이스관리(1:N)_User와 Article' 부분을 우선 학습을 하고 오는걸 권장한다. 유저와 게시물과의 관계를 다시보면, 1:N 관계 연결은 ForeignKey가 N부분인 article에 들어간다. 그리고 ForeignKey는 on_delete도 같이 작성해 줘야한다. 참조 무결성에 관련된 내용으로 Reporter 삭제 시 글들이 어떻게 될지를 설정하는 것이다. 반대의 경우는 Article 삭제 시 Repoter에는 변화가 없다. 댓글 기능은 articles_article : articles_comment = 1 : N 이다. comment를 만들 때 주의 할 점 작성창은 detail 페이지에 있다. 그러나 처리 부분은 다른 view 함수에서 하고 detail 페..
0. 들어가면서 class table 회원관리/로그인/로그아웃 User 클래스를 통해 관리한다 auth_user 게시글 Article 클래스를 통해 관리한다 articles_article 'auth_user' table id(PK=primary key) username email password article 1 Jone dken@ine.com efqewf! 1, 2, 3(X) 2 Nem djf@namer.com djek 여러개들어가면 안된다... 즉 불가. 3 요트맨 dfienf@kdnd.com qidjfnk!d 'articles_article' table id title content created_at update_at user 1 냉무 23213 ~ ~ 1 2 222 가나다라 ~ ~ 1 3 LG전..
로그아웃은 간단하다. urls.py urlpatterns = [ path('signup/', views.signup, name='signup'), path('login/', views.login, name='login'), path('logout/', views.logout, name='logout'), path('/', views.detail, name='detail'), ] views.py from django.contrib.auth import logout as auth_logout def logout(request): auth_logout(request) return redirect('articles:index') 로그인을 해야 글 작성이 가능하게 만들자. 우리는 앞에서 로그인 된 상태에서 회원가..
Django Template Language 종속 html만들기 이번엔 무엇을 배울까? 아래의 내용을 보자. Document 부분은 위쪽 창에 뜨는 부분이다.(HTML 문법) 만약 우리가 title을 바꾼다면 지금까지 만든 html 파일을 다 들어가서 하나씩 바꿔야 한다. 이러한 번거로움을 해결하기 위해서 상속하는 법을 알아보자. 첫 번째, templates/base.html을 만든다. 위치는 생성한 프로젝트 안에서 templates 폴더를 하나 만든다. 위의 트리를 보면 articles라는 app도 생성해놨다. +) 혹시나 서버 실행했을 때 한글로 번역할 거냐고 계속 뜬다면 을 로 바꾸자. {% block body %} {% endbody %} 사이 부분에 다른 html 파일들이 추가된다고 생각하면 된..
정리 우리는 장고를 통해 서버를 만들고 있다. 서버는 요청이 들어오면 응답을 보내준다. 그리고 사용자는 url을 통해 요청을한다. 따라서 url 부터 만들고 수행하는 view를 만들고 반환해주는 html을 만든다. 그리고 templates에 html을 넣어서 보낸다. django template language 장고 문법에 대해 알아보자. 실습 위주로 진행되니 쭉 따라오면서 정리할거 정리하면된다. 참고 사이트 https://docs.djangoproject.com/en/3.0/topics/http/shortcuts/ Django shortcut functions | Django documentation | Django Django The web framework for perfectionists with..
- Total
- Today
- Yesterday
- UserCreationForm
- JavaScript
- Express
- useHistory 안됨
- typescript
- Vue
- read_csv
- BFS
- next.config.js
- NextJS
- django
- login
- TensorFlow
- nextjs autoFocus
- Deque
- react
- 자연어처리
- mongoDB
- 자료구조
- Queue
- DFS
- nodejs
- react autoFocus
- vuejs
- pandas
- logout
- useState
- error:0308010C:digital envelope routines::unsupported
- Python
- 클라우데라
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |