meong_j
기록하는 습관.
meong_j
전체 방문자
오늘
어제
  • 분류 전체보기 (176)
    • 개인 공부 정리 (0)
    • 서버 운영 (37)
      • Linux (36)
    • Frontend (11)
      • Vue.js (10)
    • Backend (70)
      • Java (4)
      • Python (22)
      • Django (38)
      • Spring (6)
    • Database (5)
      • Oracle (4)
      • MySQL (1)
      • MariaDB (0)
    • Android (14)
      • Kotlin (6)
    • 배포 (9)
      • Docker (8)
      • AWS (1)
    • IT_study (29)
      • Coding test (17)
      • 알고리즘 (5)
      • 스터디 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • github

인기 글

반응형

태그

  • 개발자도서
  • 중첩라우트
  • 테크커리어
  • SASS Variables
  • 안드로이드adaptor
  • 리눅스인증
  • Kotlin
  • docker
  • 이차원배열정렬
  • django
  • router-link
  • gabagecollecter
  • 리눅스방화벽
  • dp #알고리즘
  • DHCP
  • 배포인프라
  • cpu사용률
  • Proxy
  • 코틀린자료형
  • dockersecret

최근 댓글

최근 글

250x250
hELLO · Designed By 정상우.
meong_j

기록하는 습관.

Backend/Django

django 18. Profileapp 시작 그리고 ModelForm

2021. 10. 6. 16:32
728x90
반응형

Nickname, Profile, Image 포함한 Profile app만들기

- Account 1 : Profile 1 구현

 

profileapp 생성

python manage.py startapp profileapp

 

settings.py 등록

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'bootstrap4',
    'accountapp',
    'profileapp'
]

 

 

urls.py 추가(메인)

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include('accountapp.urls')),
    path('profiles/', include('profileapp.urls')),
]

 

 

models.py 생성

from django.contrib.auth.models import User
from django.db import models

# Create your models here.

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile')
    image = models.ImageField(upload_to='profile/', null=True)
    nickname = models.CharField(max_length=20, unique=True, null=True)
    message = models.CharField(max_length=100, null=True)
  • Profile이라는 model 생성

 

OneToOneField

  • 장고 제공 함수로 1:1 매칭해줌

on_delete=model.CASCADE

  • 컬럼에 연결된 테이블도 DELETE되도록 설정

related_name

  • related_name는 바로 연결할 수 있도록 name지정한 것

 

upload_to

  • 이미지를 다른 서버 어디에 저장할 껀지 경로 설정

unique=True

  • 해당 컬럼의 값은 유일 해야함, 중복될 수 없음

 

 

urls.py 생성

app_name = 'profileapp'


urlpatterns = [

]

 

 

apps.py 생성

from django.apps import AppConfig


class ProfileappConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'profileapp'

 

 

forms.py 생성

from django.db.models import fields
from django.forms import ModelForm

from profileapp.models import Profile


class ProfileCreationForm(ModelForm):
    class Meta:
        model = Profile
        fields = ['image', 'nickname', 'message']
  • 장고 제공 함수인 ModelForm을 사용하여 내가 만든 model을 form으로 만들기

 

 

 

반응형

'Backend > Django' 카테고리의 다른 글

django 20. Profileapp 마무리  (0) 2021.10.06
django 19. Profileapp 구현 시작  (0) 2021.10.06
django 17. superuser, media 관련 설정  (0) 2021.10.06
django 16. Decorator를 이용한 코드 간소화  (0) 2021.10.06
django 15. Authentication 인증시스템 구축  (0) 2021.10.06
    'Backend/Django' 카테고리의 다른 글
    • django 20. Profileapp 마무리
    • django 19. Profileapp 구현 시작
    • django 17. superuser, media 관련 설정
    • django 16. Decorator를 이용한 코드 간소화
    meong_j
    meong_j
    #it #개발일기 #개발공부 #개발자 #백앤드 #생각정리 #시간은 실력에 비례한다 #뭐든지 꾸준히 열심히 #오늘의 내가 내일의 나를 만든다

    티스토리툴바