본문 바로가기

개발/Web 개발

(10)
[Django] urls.py에서 (?P<pk>\d+)$ Django에서 urls.py에서 path를 작성할때 다음과 같이 ?P\d+를 사용할 수 있다. ?P는 정규식 표현의 python extension이다. 여기서 pk는 변수이고 이 pk값을 지정한 view의 인자로 넘겨준다. 여기서 \d는 [0-9] 숫자 문자를 의미하며(pk값은 숫자이기 때문이다.) 뒤에 +를 붙여서 최소 1자리 이상의 자릿수를 같도록 설정할 수 있다. + 추가적으로 맨앞의 r은 해당 문자열이 raw string을 나타내는 것이고, ^는 시작점, $는 끝점을 나타낸다.
[Django] Paginator를 이용한 글 목록에 페이징 기능 적용 시키기 Django에서 제공하는 Paginator를 이용하여 게시판이나 리스트를 조회하는 모듈에 페이징을 적용 시킬수 있습니다. 페이징을 여러 view에 편리하게 적용시키기 위해 lib.py를 통해 PaginatorManager라는 함수를 정의하였습니다. Paginator를 이용한 PaginatorManager 함수 구현 #lib.py from django.core.paginator import Paginator def PaginatorManager(request, queryset): page = request.GET.get('page', 1) paginator = Paginator(queryset, 20) max_index = len(paginator.page_range) current_page = int(p..
[Javascript] 입력 필드,입력 폼에 세자리 마다 콤마(,) 표시 input 태그의 입력폼에 키보드로 입력시, 천 단위 마다 콤마(,)를 표시하도록 하는 js 함수 //키를 누르거나 떼었을때 이벤트 발생 $("input.").on('keydown propertychange change keyup paste input',function(){ inputNumberFormat(this); }); //입력한 문자열 전달 function inputNumberFormat(obj) { obj.value = comma(uncomma(obj.value)); } //콤마찍기 function comma(str) { str = String(str); return str.replace(/(-?\d)(?=(?:\d{3})+(?!\d))/g, '$1,'); } //콤마풀기 function unc..
[Django] Ajax와 Django(python)을 이용한 엑셀 업로드 기능 구현 - Ajax와 Django(python)을 이용하여 엑셀 업로드 기능 구현하기 이번 포스팅은 Ajax와 Django 웹프레임워크를 이용하여 엑셀 파일을 업로드하고, 이를 DB에 저장하는 방법을 알아보겠습니다. DataBase는 MySQL을 사용했다는 점 참고하시면 됩니다. 아래 그림은 데이터를 업로드할 간단한 샘플 엑셀 파일입니다. 먼저, Front 단 입니다. 저는 좀 더 깔끔한 UI를 위해 modal form을 사용하여 구현하였습니다. 다른 form도 원리는 동일합니다. 아래는 modal의 입력 form인 HTML 코드입니다. 아래 script 코드는 화면의 버튼을 눌렀을 때 modal 창을 띄우는 js 코드입니다. 엑셀 업로드 modal 창 저장 취소 저장 버튼을 누르게 되면 비동기 통신을 위해 a..
[Django] RuntimeError: crypgraphy is required RuntimeError: cryptography is required for sha256_password or caching_sha2_password Django 웹 프레임 워크를 통해 runserver 실행시 다음과 같은 오류가 발생을 하였다. 웹 개발할 때 사용하는 로그인, 회원가입 등의 기능 등에서 암호화 모듈을 사용하여 중요 정보(ex. password, 주민번호)를 암호화 하여 DB에 저장하는 경우가 많은데, 이 때 사용하는 암호화 모듈을 설치하지 않았을 경우 발생하는 에러이다. 다음과 같이 해결 할 수 있었다. pip install cryptography
[Django] Migration 오류 해결 방법 (migrate error) *Migrate 오류시 해결방법 1. DB의 table을 모두 Drop한다. 2. 모든 app의 migrations 폴더에있는 파일들을 삭제한다.(__pycache__와 __init__.py는 지우면 안됨.) 3.makemigrations 명령어를 실행한다. (python manage.py makemigrations) 4.migrate 명령어를 실행한다. (python manage.py migrate) (여기서 만약에 오류가 날경우) 1. error가 난 app만 지정해서 makemigrations한다. (python manage.py makemigrations ) 2. error가 난 지점에서 migrate 명령을 실행한다. 해당 명령은 다음과 같다. python manage.py migrate --f..