본문 바로가기

개발/Django_python 웹 프레임워크28

쟝고 - 댓글 달기 댓글은 게시물과 1:N관계를 가지고 있죠. 하나의 글에 여러개의 댓글을 달 수 있으니까요! 1. Comment model 작성 from django.contrib.auth.models import User # models.py class Comment(models.Model): user = models.ForeignKey(User,on_delete=models.CASCADE) post = models.ForeignKey(Post,on_delete=models.CASCADE) content = models.TextField(blank = True) anonymous = models.BooleanField(default=False) created_at = models.DateTimeField(auto_now.. 2020. 8. 1.
ModelForm - 댓글 달기 댓글도 1:N 관계를 타나내겠죠? User와도 1:N, 게시물과도 1:N의 형태를 띄겠네요.! 1. Comment model from django.db import models from django.contrib.auth.models import User class Blogapp(models.Model): user = models.ForeignKey(User,on_delete=models.CASCADE) title = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') body = models.TextField() def __str__(self): return self.title def summary(self.. 2020. 7. 29.
ModelForm - Forms.py Form, 우리는 Form을 언제 사용하였죠? 우리는 html에서 입력 값을 받고 넘기기 위해 form 태그를 만들어줬는데, 이때 이모저모 신경 써줄 것들이 존재합니다. 우리는 모델에 정의해줬던 속성들 그대로 html을 만들었습니다. 제목과 날짜, 본문을 입력하고 model 객체를 생성해 데이터를 집어넣어 저장했습니다. model을 바꾸거나 추가하게 되면 그에 맞는 form태그를 수정해줘야 하고, model의 일부분만 입력받고 싶고, 또 어떤 공간에서는 model의 전체를 입력받고 싶을 때 그때마다 일일이 form 태그를 만들어주었었죠. 하지만 이제는 장고에서 제공해주는 form.py을 이용해 간단하게 바꿔 보겠습니다. model을 기반으로 한 form을 이용하면 model 맞춤형 form을 구성해주고,.. 2020. 7. 25.
Pagination 한 페이지에 일정 개수의 게시물만 보이는 페이지네이션을 진행해보겠습니다. #views.py from django.core.paginator import Paginator def main(request): blog_all = Blogapp.objects.all().order_by('-id') #쿼리셋, 객체목록 가져오기 #블로그 객체 세 개를 한 페이지로 자르기 paginator = Paginator(blog_all,3) #블로그 객체 세 개를 한 페이지로 자르기 page = request.GET.get('page') #request된 페이지를 얻어온 뒤 return 해 준다 posts = paginator.get_page(page) # blog_all = blog.all() return render(re.. 2020. 7. 23.
728x90