Python 16

Django Comment

Django 댓글 작성 & 삭제게시글의 model은 Article로 만들었을 경우임. ForeignKey를 사용.1. 댓글 작성models.py에서 댓글 설정을 위한 class를 만든다.(user 설정을 안했을 경우)class Comment(models.Model): article = models.ForeignKey(Article, on_delete=models.CASCADE) #on_delete=models.CASCADE는 ForeignKeyField가 삭제 될때 인스턴스도 같이 삭제 content = models.TextField()forms.py에도 추가from django import formsfrom .models import Commentclass CommentForm(form..

Django User (2)

User 관리(change, customizing)customizing 방법은 여러가지가 있지만, 앞서 사용했던 방법과 다르게 여기서는 AbstractUser를 상속 받아서 User를 customizing후 사용함UserChangeForm도 마찬가지로 ChangeForm을 상속받아 customizing 해서 사용함bootstrap을 사용하기 위해 widget에 attrs도 추가1. models.py에서 AbstractUser를 상속from django.db import modelsfrom django.contrib.auth.models import AbstractUser # AbstractUser를 가져옴# Create your models here.class User(AbstractUser): # Us..

Django User (1)

User 관리(sign in, out, up)로그인 기능을 넣는 방법model을 만들 필요 없이 django에서 제공하는 user 모델을 사용함bootstrap 사용을 기반으로 작성함1. accounts라는 새로운 app을 작성2. 기본 제공되는 User 모델을 사용하기 때문에 forms.py만 작성from django.forms import ModelFormfrom django.contrib.auth.models import User # django에서 기본 제공하는 model이 있음.from django import formsclass SignupForm(ModelForm): #회원가입을 제공하는 class이다. username = forms.CharField( max..

Django Paginator

Paginator 사용하기게시판 같은 곳에서 리스트의 양이 많아 질 경우 나누어 보여주기 위해서 사용여기 적힌 예에서 model은 Review 이고 forms는 ReviewForm이다.bootstrap을 사용했음.1. views.py에 내용 추가하기from django.core.paginator import Paginatordef review_list(request): reviews = Review.objects.order_by('-pk') paginator = Paginator(reviews, 5) #한 페이지 당 몇개 씩 보여줄 지 지정 page_number = request.GET.get('page') page_obj = paginator.get_page(page_number)..

Django CRUD

CRUD - Create, Read, Update, Delete1. Model 사용할 경우1. Model 만들기 (ex: Article이라는 모델을 만들경우)# 프로젝트 명/App이름/models.pyclass Article(models.Model): title = models.CharField(max_length=140) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True)models.Model 을 상속받은 클래스를 생성한다.속성은 내가 구성하고 싶은 테이블의 컬럼의 이름을 지정하고, 데이터 타입에 맞춰..

Django 시작하기

2020년 작성 -> 현재 django와 차이 있을 수 있음기초1. django 설치$ pip install django==2.1.15(2.1.15 기준으로 배웠기 때문에)2. 프로젝트 시작$ django-admin startproject {프로젝트 이름}그 후에 프로젝트 폴더의 settings.py에서 ALLOWED_HOST = ['*']로 수정3. App 만들기# manage.py 파일이 있는 폴더에서 터미널 진입 후 bash 에 $ python manage.py startapp {앱 이름}# 그 후에 settings.py에서 INSTALLED_APPS = [ '{앱 이름}' 추가]4. urls.py 작성# 프로젝트 이름/urls.py에서 예를 들어 index 페이지를 넣을 경우 from app..