전체 글

Heaon`s Blog
FrameWork/Django

[Django] User Model 확장하기

📚 django UserModel Django 에서는 표준 User Model을 제공하고 있다. 해당 User Model은 django.contrib.auth.models.User에 다음과 같이 정의 되어 있다. class User(AbstractUser): class Meta(AbstractUser.Meta): swappable = 'AUTH_USER_MODEL' 아래는 User 모델에서 정의되어 있는 칼럼들이다. username = models.CharField() first_name = models.CharField() last_name = models.CharField() email = models.EmailField() is_staff = models.BooleanField() is_active..

FrameWork/Django

django-environ을 이용하여 환경변수 관리하기

django-environ 대게 django을 하다보면, 남들에게 보여주면 안되는 API_KEY 값들이나 다른 중요한 값들이 존재하기 마련이다. 따라서 이런 값들을 따로 관리해야하는 필요성을 알게되는데 이를 도와주는것이 djago-environ이다. 일단 django-envirion을 설치한다. pip install django-environ 그 다음 프로젝트 안에 .env 라는 파일을 생성 한 뒤, 파일안에 변수와 값을 기입한뒤, settings.py 에서 사용한다. 📕 .env SECRET_KEY='django-insecure-n&(433#pnjvih&mmil99u666&5cm*d0_o$@*cj41934u=$w7*q' DEBUG=True 🔖.env 파일에 값을 넣을때 변수와 값 사이에 뛰어쓰기가 존재..

FrameWork/Django

ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'accounts.account', but app 'accounts' doesn't provide model ' 에러 해결

상황 django에서 유저 모델을 만들어서 migrate하는 도중에 해당 오류가 발생하였다. 해결 https://stackoverflow.com/questions/50324561/valueerror-the-field-admin-logentry-user-was-declared-with-a-lazy-reference ValueError: The field admin.LogEntry.user was declared with a lazy reference I'm developing a new django project and stuck with migration. I would like to make a UserModel, and in order to do that, I did two things so far...

Programing Language/Javascript

[Javascript] default export와 named export

📚 import, export 프로그램을 작성하다보면 다른 모듈에서 함수나 변수들을 가져와 활용하는 경우가 많은데, 이를 사용하기 위해서는 import, export 문을 통해서 해당 행위를 실행한다. 간단하게 보자면, import은 자신의 스페이스에 다른 모듈의 것을 불러온다는 의미이며, export는 반대로 다른 모듈에게 함수나 값을 전달하는 의미로 받아드리면 된다. 📚 Named Export와 Default Export Export 하는 방법은 2가지가 있는데 차이점은 다음과 같다. Default Export - 한 파일 내에서 단 한개의 변수/클래스/함수만을 Export 할 수 있다. - from 뒤에 명시한 파일에서 단 한개의 모듈만 가져오기 때문에 as 키워드 없이 원하는대로 이름을 바꿀 수 ..

Programing Language/Javascript

[Javascript] Date 객체 사용하기

📚 Javascript에서 Date 객체 Javascript는 Date라는 내장 객체를 가지고 있다. 이는 날짜와 시간을 저장하고 그걸 처리하는 메소드를 포함하고 있다. 📚 Date 사용 일반적인 Date 객체의 생성은 다음과 같이 한다. const date = new Date(); // result : "2023-03-22T09:48:29.222Z" 📒 Date 객체를 이용한 년,월,일 구하기 const now = new Date();// 현재 날짜 및 시간 const year = now.getFullYear();// 연도 const month = now.getMonth();// 월 const date = now.getDate();// 일 📒 Date 객체를 이용한 시간, 분, 초 구하기 var now..

Programing Language/Javascript

[Javascript] setTimeout()과 setInterval() 함수

📚 setTimeout()과 setInterval() 함수 만약 어떠한 함수를 시간의 격차를 두고 사용하거나, 한번만 사용해야 한다면 다음 해당 함수를 이용하여 처리한다. 📒 setTimeout() setTimeout()은 n초뒤에 해당 함수을 한번 실행할 때 사용한다. // 함수 원형은 setTimeout(function, msTime); setTimeout(() => console.log("2초 후에 실행됨"), 2000); 📒 setInterval() setInterval()은 n초 간격으로 함수를 반복적으로 실행 시키고 싶을 때 사용한다. // 함수 원형은 setInterval(function, msTime); setInterval(() => console.log(new Date()), 2000);

Programing Language/Javascript

[Javascript] Local Storage 다루기

📚 Local Storage란 브라우저에 Key-Value 값을 저장할 수 있는 공간을 의미한다. 저장한 데이터는 세션간에 공유되며, 세션이 바뀌어도 저장한 데이터는 유지가 된다. 📚 Local Storage 사용 아래는 localStorage에 아이템을 CURD 방법이다. 📒 setItem() localStorage에 아이템을 추가하기 위해서 setItem() 함수를 사용한다. localStorage.setItem(key, value) 📒 getItem() localStorage에 아이템을 읽기 위해서 getItem() 함수를 사용한다. localStorage.getItem(key) 📒 removeItem() localStorage에 아이템을 삭제를 위해서 removeItem() 함수를 사용한다. lo..

Programing Language/Javascript

[Javascript] classList 정의와 사용방법

📚 classList 란? javascript에서 classList는 element의 읽기전용 속성으로 css class의 현재 값을 반환한다. classList을 통해서 element에 css class 추가, 제거를 할 수 있다. 📒 사용 예시 const classes = element.classList; 📚 classList class 추가, 삭제 element의 class 목록에 하나 이상의 css class를 추가하려면 classList의 add() 메소드를 사용하며, 삭제는 remove() 메소드를 사용한다. 📒 사용 예시 let div = document.querySelector('#content'); div.classList.add('info'); let div = document.quer..

Programing Language/Javascript

[Javascript] preventDefault()와 stopPropagation()

📚 preventDefault() 어떤 이벤트를 명시적으로 처리하지 않은 경우, 해당 이벤트에 대한 브라우저의 기본 동작을 실행하지 않도록 지정하는 함수를 의미한다. 예를 들어 태그나 태그는 그 태그의 값을 전송하면서 해당 페이지를 새로고침 혹은 이동하는 기능을 가지고 있으나 의도치 않게 사용될 경우가 있을 수 있기 때문에 Event.preventDefault() 를 사용한다. 📒 태그에서의 사용 예제 해온의 블로그 📒 태그에서의 사용 예제 const onLoginSubmit = (e) => { e.preventDefault(); loginForm.classList.add("hidden"); const username = loginInput.value; localStorage.setItem(USERNAM..

JHeaon
JHeaon 개발일지