Python(52)
-
[Python Django] 3-3. CBV FromView ForeignKey 연결
게시판을 작성하면서 작성자 정보를 저장하지 않았었는데, 이 부분 수정하면서 다른 테이블과의 연결에대해 알아봅니다. model.py 수정 insert_user를 ForeignKey로 지정 on_delete=models.CASCADE 설정은 외래 키로 지정된 데이터가 삭제되었을 때 대한 데이터 역시 삭제해준다는 설정이다 # board/models.py from django.db import models class Board(models.Model): title = models.CharField(max_length=256, verbose_name="제목") contents = models.TextField(verbose_name="내용") insert_user = models.ForeignKey('user.U..
2022.03.26 -
[Python Django] 3-2. CBV DetailView를 이용한 상세페이지 구현
views.py 수정 BoardDetailView 클래스를 생성하여 DetailView를 상속받아 상세 페이지를 구성 # board/views.py class BoardDetailView(DetailView): template_name = "board_detail.html" model = Board # URLConf에서 pk 파라미터의 값을 활용하여 자동으로DB를 조회한다 urls.py 수정 # board/views.py from django.urls import path from board.views import BoardCreateView, BoardDetailView urlpatterns = [ path('create/', BoardCreateView.as_view()), path('detail//..
2022.03.26 -
[Python Django] 3-1. CBV FormView를 이용한 Create 구현
FormView를 이용하여 게시판 글 작성 페이지를 만들어보겠습니다. forms 생성 # board/forms.py from django import forms class BoardCreateForm(forms.Form): title = forms.CharField( max_length=256, label="제목", error_messages={'required': '제목을 입력해주세요'} ) contents = forms.CharField( widget=forms.Textarea, label="내용", error_messages={'required': '내용을 입력해주세요'} ) views 수정 저장 후 다시 저장 페이지를 보여줍니다. # board/views.py from django.views.ge..
2022.03.26 -
[Python Django] 필드 타입 클래스 정리
CharField 작은 문자열 또는 큰 문자열을 위한 필드 TextField 큰 문자열 필드 EmailField EmailValidator를 이용하여 값이 유효한 이메일인지 체크하는 CharField IntegerField 정수 필드 -2147483648 ~ 2147483648 FloatField 실수 필드 BoolendField True / False 필드 DateTimeField 날짜와 시간을 가지는 필드 DateField 파이썬의 datertie.date 인스턴스로 표현되는 날짜의 필드타입 auto_now=false auto_now_add=false FileFiled 파일 업로드 필드 ImageField 이미지 파일인지 유효성을 체크해주는 FileFiled의 파생 클래스 AutoField 1부터 시..
2022.03.26 -
[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