Python3/Django 7

[Django] Django 에서 테스트 코드 부분 실행하기

만약 테스트 코드를 일부 실행하고 싶다면 아래와 같이 진행하면 된다. app 명 + 테스트 코드 디렉토리명 + 테스트 코드 .py파일명 + 테스트 코드 클래스 + 테스트 클래스 메서드 명 순으로 적어주면 된다. # Run the specified module python3 manage.py test catalog.tests # Run the specified module python3 manage.py test catalog.tests.test_models # Run the specified class python3 manage.py test catalog.tests.test_models.YourTestClass # Run the specified method python3 manage.py test c..

Python3/Django 2022.08.18

[Django] CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.

Django 를 production 상에서 운용할때는 반드시 DEBUG = False 로 두고 실행해야 한다. 그 이유는 DEBUG = True 로 두고 운용을 하게 되면 서버 운용 중 발생한 오류가 사용자에게 보이기 때문이다. 이 때문에 해커가 프로젝트의 구조를 파악할 수도 있게 된다. 그래서 반드시 DEBUG=False 로 두고 운용해야 하는데 막상 DEBUG = False 로 두고 runserver 를 돌리니 다음과 같은 에러가 발생했다. CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False. 어떻게 해결할 수 있을까? 해결법은 간단하다. 에러 로그가 하는 말 그대로 진행하면 된다 . settings.py 에 있는 ALLOWED_H..

Python3/Django 2022.08.18

[Django] drf-yasg가 적용되지 않을때 + ImportError: cannot import name 'url' from 'django.conf.urls' + frozen importlib

Django 를 사용해서 api 개발을 하던 중 api 스펙을 자동으로 생성해주는 drf-yasg 를 사용하려고 했다. 그런데 계속 frozen importlib 에러가 지속적으로 발생했고 django.conf.urls 에서 url 을 import 할 수 없다는 에러가 발생했다. 근데 당시에는 너무 바쁘고 일이 많아서 api 자동 생성을 후순위로 밀어두고 기능 개발을 빠르게 진행했었다. 그러다가 다시 api 를 살펴볼 일이 생겼는데 아예 오늘 drf-yasg 오류를 잡고 api generation을 끝내자고 생각해서 문제를 해결하게 되었다. 우선 ImportError: cannot import name 'url' from 'django.conf.urls' 는 버전 이슈다. 스택오버플로우를 참고한 결과 아..

Python3/Django 2022.08.18

[Django] 10분이면 읽는 Django 기초 개념 정리 (입문자용)

7월 1주차에 급하게 Django 를 써야할 상황이 생겨서 이틀간 Django를 압축적으로 학습할 일이 생겼다. 그간 학습한 내용들을 간단하게 정리하도록 하겠다. 개인적으로 빠르게 학습하면서 (빠르게라기 보다는 급하게가 맞겠다.) 적은 내용들이라 다소 형식이 올바르지 못하더라도 필요한 내용들만 압축해서 정리해놓았다. 목차: 서버 구동 및 초기 설정 MTV 패턴 view (HTTP request, HTTP resposne) model (클래스 필드에 대하여, CharField, IntegerField, EmailField) DB migration, migrate DB 엔진 설정 (Mysql 연동 방법) Model api 사용법 (장고 기본 지원 ORM 사용법 - insert, select, update, ..

Python3/Django 2022.07.17

[Django] Django에서 AbstractUser의 password 암호화, User모델 확장

Django를 사용해서 서비스를 개발 중이라고 가정하자. 우리는 보통 서비스를 만들때 User 모델을 정의하게 된다. 사용자 비밀번호, 아이디, 이름, 이메일, 가입날짜 등등을 이 모델안에 정의하게 된다. 그런데 이것만 가지고는 Django의 장점을 활용하기엔 부족하다. 그래서 Django에서는 User모델을 확장할 수 있게 도와준다. 확장을 해야 진짜 Django의 간편함을 누릴 수 있다. 어떻게 확장할까? 바로 상속을 통해서 가능하게 해준다. User모델을 정의하고 나면 우리는 AbstractUser를 상속받게 할 수 있다. 그리고 AbstractUser 안에는 username, password, email 등등의 기본적인 필드들이 존재한다. 미리 정의되어 있다. 그리고 우리는 상속을 통해 그 필드들..

Python3/Django 2022.07.15

[Django] Fatal error in launcher: Unable to create process using 에러 발생

djangorestframework-simplejwt를 install 하려는 와중에 pip에서 계속 문제가 발생했다. Fatal error in launcher: Unable to create process using 한참을 찾아보고 PATH값도 다시 수정해주는 작업을 했지만 소용이 없었다. 그리고 정말 간단한 해답을 찾았다. 내가 하려던건 pip install djangorestframework-simplejwt 였는데 이걸 아래처럼 입력해주면 해결된다. python -m pip install djangorestframework-simplejwt 명령어 앞에 python -m 을 붙여주면 된다. 아마 vscode 혹은 python 설치경로 지정에서 문제가 있엇던듯한데 굳이 그걸 설정을 바꿔가면서 하기보..

Python3/Django 2022.07.14
반응형