Python 6

권한 제어에 따른 "POST ... 403 45" 에러 해결

1. 문제 - 지난번 로그인 기능 제작 및 권한 기능 생성 후 권한 제어를 해둔 페이지 내의 POST 관련 기능 실행 시 에러가 발생하는 상황이 발생함에 따라 이를 해결해야할 소요가 생김. 2. 변경 전 코드 - statistics.js # 변경 전 postPerfomanceQuantityList: function () { $("#quantity_result").LoadingOverlay("show"); const url_ = `/api_data/data_performance/quantityList/` const body = { "quantity_value_texture_st": this.performance_value_texture_st, "start_date": this.performance_date..

Python/Django 2022.10.06

비로그인시 페이지 접근 권한 부여

1. 개발 사항 - 웹 접속 시 로그인을 필수적으로 요구하기 위해서 비로그인시 로그인 페이지로 이동시키는 기능 개발 2. 개발 코드 - django에서 제공하는 decorator를 사용함 * view.py # 이전 코드 def statisticsView(request): print('statisticsView', request.path) return render(request, "contents/statistics.html", {}) # 변경 코드 URL_LOGIN = '/common/user/login/' ... ... ... @login_required(login_url=URL_LOGIN) def statisticsView(request): print('statisticsView', request.p..

Python/Django 2022.10.05

데이터 수식 수정

1. 수정 사항 - 기존에 파악한 데이터 수식의 변경으로 데이터 연동 부분 쿼리문 or 이후 수식 변경 2. 이전 코드 - serializers_produce.py def equipment(date_standard, start_date, end_date, standard): if date_standard == '연': datetime_formate = "%Y" start_date = datetime.strptime(start_date, datetime_formate) end_date = datetime.strptime(end_date, datetime_formate) start_year = int(start_date.year) end_year = int(end_date.year) period_standa..

Python/Django 2022.10.04

기존 데이터 연동 수정

1. 변경 사항 - 기존의 데이터 연동 사항 중 판매수량을 받아오던 쿼리를 수정하여 매출(재고중량)을 받아오는 것으로 수정 2. 이전 코드 def performance_weight(date_standard, start_date, end_date): ret_list = [] with connections['testdb'].cursor() as cursor: if date_standard == '연': datetime_formate = "%Y" start_date = datetime.strptime(start_date, datetime_formate) end_date = datetime.strptime(end_date, datetime_formate) start_year = int(start_date.yea..

Python/Django 2022.10.04

waitress deploy 후 에러 해결

1. 문제 인식 - 기존 개발 서버로 동작 시 적용되었던 static source들이 waitress로 구동 시 적용되지 않는 문제가 발생했다. - 서버는 구동되지만 static source가 적용되지 않으므로 waitress 세팅 혹은 django 세팅을 변경해야할 것으로 예상한다. 2. 해결방법 - whitenoise를 install 받아 아래와 같이 django 프로젝트 내의 config/settings.py 파일을 수정하여 해결하였다. # whitenoise 설치 pip install whitenoise # settings.py 파일 ... ... ... MIDDLEWARE = [ ... ... ..., "whitenoise.middleware.WhiteNoiseMiddleware", ] ... ..

Python/Django 2022.09.16

waitress API를 사용한 Django 배포

1. 시스템 구성 - window10 - Django - waitress 2. 가상환경 세팅 # 가상환경을 담을 디렉토리 생성 mkdir django_test # 가상환경 폴더로 이동 cd django_test # 가상환경 생성 python -m venv venv # 가상환경 실행 .\venv\Scripts\activate.bat 3. 패키지 설치 # Django, waitress 패키지 설치 pip install Django waitress 4. 프로젝트/저장소 생성 # 디렉터리 생성 mkdir repo run # django 생성 디렉터리 이동 cd repo # django 프로젝트 생성 django-admin startproject conf 5. STATIC_ROOT 디렉터리 지정 - ./conf/..

Python/Django 2022.09.15