[쪽지시험] 220928 #3

2022. 9. 28. 09:50스파르타코딩클럽[AI트랙 3기]/타임어택(쪽지시험 등)

내가푼것

3번까지 가능

 

풀이

1.바탕화면에 폴더 만들기

2.가상환경 생성 및 활성화

1)생성: python -m venv venv

2)활성화 : ls 해서 확인하고 source venv/scripts/activae (끄는거는 deactivate)

3.장고패키지 설치

pip install django

+)설치된 패키지 확인 > pip freeze, pip list

4.spartatest라는 django 프로젝트 생성

django-admin startprject spartatest #명령어는 외울필요 없음. 하다보면 익숙해짐.

5.customuser라는 앱을 생성

cd spartatest #spartatest 들어가주기

python manage.py startapp customuser #앱생성하기

6.settings.py에 앱을 등록

한 세트처럼 생각해줌

vi spartatest/settings.py 

installed app에 'costomuser', 추가 나오는것은 wq

7.장고의 user를 기반으로 만든 CustomModel 클래스 만들기

cd customuser 와 ls ../spartatest 비교해보면 customuser는 앱이기때문에 각각의 기능들에 대한 설정, 조작이 포함.

//spartatest는 asgi.py 와 같이 배포관련된 것도 있음.

vi models.py >models.py를 조작

from django.contrib.auth.models import AbstractUser

 

#확장을 출제한 이유는 장고 기본 유저객체 사용하는 경우 드뭄. 대부분 자기만의 유저정보를 만들어서 개인화 하는 것이 일반적. 장고가 기본적으로 제공하는 user를 확장하기 위해서 사용.

class CustomModel(AbstarctUser):  #abs는 확장하기 위해 사용하는 기능

      

     class Meta:

              db_table = "custom_user"

     

    address = models.TextField(max_length=500, blank=True)

    bio = models.TextField(max_length=500, blank=True)

하고 나가줌.

8.Django에게 기본 인증과정 (AUTH_USER_MODEL)을 customuser 앱에 작성한 CustomModel로 사용하겠다! 라고 알려주기

프로젝트폴더의 settings.py > AUTH_PASSWORD 아래에 AUTH_SUER_MODEL = 'customuser.CustomModel'

9.데이터베이스에 변경사항 반영하고 적용

python manage.py makemigrations > ModuleNotFoundError: No module named 'costomuser'에러발생

>존재하지 않는 클래슬르 불러왔음. 클래스가 CustomModel인데 CustomUser로 잘 못적어놨음.

python manage.py migrate

>>>table이 만들어졌음.

10.관리자 계정 만들기

python manage.py createsuperuser

11.admin사이트에서 CustomModel 볼 수 있도록 적용

admin.py 들어가서 

from.models import CustomModel 해주고

admin.site.register(CustomModel)

12.서버를 켜고  다 볼 수  있다면 성공 
서버켜기 : python manage.py runserver