Python/Django Framework(27)
-
[Python Django] 2-6. FBV Delete 구현하기
간단하게 페이지에 접근하면 현재 로그인한 회원을 정보를 삭제하는 프로세스를 만들어보겠다. Board 모델에서 ForiegnKey로 연결할때 on_delete=CASCADE 설정을 해두었기 때문에 유저가 삭제되면 게시글이 삭제된다. view.py # 회원 탈퇴기능. 자신의 회원 정보를 삭제한다. # board에 on_delete를 CASCADE로 설정하였기 때문에 유저를 삭제하면 게시글도 삭제된다. def delete(request): user_id = request.session.get('user_id') if not user_id: return redirect("/user/login") else: try: user = User.objects.get(pk=user_id) user.delete() retu..
2022.03.26 -
[Python Django] 2-5. FBV List, Pagination 구현하기
veiws.py 수정 def list(request): # user 정보 user_data = User.objects.all().order_by('-id') # paginator paginator = Paginator(user_data, 5) # user_data를 기반으로 paginator생성, 페이지당 5개 page = int(request.GET.get('p', 1)) # 현재 페이지 세팅, 없으면 1 user_list = paginator.get_page(page) # 현재 페이지의 user_list 생성 return render(request, 'list.html', {'user_list': user_list}) usrls.py 수정 from django.urls import path from ..
2022.03.26 -
[Python Django] 2-4. FBV Form을 이용한 Update 구현
모델 변경 유저 모델을 약간 수정하였습니다 insert_date 옵션을 auto_now => auto_now_add로 바꾸고, update_date를 추가해주었습니다. auto_now는 저장될 때마다 시간을 기록하고, auto_now_add는 생성 시점의 시간을 기록합니다. # user/models.py class User(models.Model): user_name = models.CharField(max_length=64, verbose_name="사용자 명") user_email = models.EmailField(max_length=256, verbose_name="이메일") password = models.CharField(max_length=256, verbose_name="비밀 번호") in..
2022.03.26 -
[Python Django] 2-3. FBV Form을이용한 Login, Logout 구현
Login 구현 1. form 등록 # user/forms.py from django import forms from django.contrib.auth.hashers import check_password from django.forms.utils import ErrorList from user.models import User class LoginForm(forms.ModelForm): user_email = forms.EmailField( max_length=256, label="이메일", error_messages={"required": "이메일을 입력해주세요"} ) password = forms.CharField( widget=forms.PasswordInput, min_length=8, max..
2022.03.26 -
[Python Django] 2-2. FBV 함수를 이용한 Create 구현
함수를 이용한 CREATE 구현 views.py와 html 템플릿만을 이용한 가장 단순한 방식의 코드입니다. user/views.py from django.contrib.auth.hashers import make_password from django.shortcuts import render from user.models import User def create(request): if request.method == 'GET': # method가 GET이면 유저 생성 페이지를 보여준다 return render(request, 'create.html') elif request.method == 'POST': # method가 POST이면 유저를 생성한다 # 전달받은 인자값을 정리한다 user_name =..
2022.03.26 -
[Python Django] 2-1. FBV 템플릿 연결
FBV(Function Base View)란? MVT (Model View Template) 중 View를 함수(Function) 타입으로 표현하는 방식을 말합니다. 뒤이어 나올 CBV(Class Base View)에 비해 구현해야 할 부분이 많지만 소스가 직관적이어서 유지보수 등에 유리하다는 이점이 있습니다. templates 생성 user/templates 디렉토리 생성 user/templates/create.html 파일 생성 # create.html 파일 {% extends "base.html" %} {% block contents %} create {% endblock %} user/urls.py 생성 # user/urls.py from django.urls import path from use..
2022.03.26