728x90
반응형
이번 시간엔 불러온 엑셀파일의 데이터를 읽어오는 것을 먼저 해보자
2023.08.02 - [python] - Django로 회원가입/로그인 페이지 만들기 (Python) - 5탄
1. views 파일 수정하기
main > views.py
결과가 나타나게 해주는 함수를 수정해야한다.
이 때까지는 엑셀파일을 올려도 결과탭을 들어가보면 빈 화면이었으면, 지금은 결과탭으로 이어지는 루트를 타고 바로 결과가 화면으로 나타나게끔 함수를 바꿔줘야 한다.
우리가 해야할 부분은 세션을 받을 새로운 객체를 생성해준다.
def result(request):
if 'user_name' in request.session.keys():
# 현재 상황은 user_name, user_email 정보가 존재
# calculate 두개의 정보가 들어있음
content = {}
# 새로운 객체에 저장
content['grade_calculate_dic'] = request.session['grade_calculate_dic']
content['email_domain_dic'] = request.session['email_domain_dic']
# 기존 세션 삭제
del request.session['grade_calculate_dic']
del request.session['email_domain_dic']
return render(request, 'main/result.html', content) # 사용자의 세션 정보가 담겨져 있는 상태에서의 index.html
else:
return redirect("main_signin")
+) urls 파일 경로 확인하기
우리가 미리 urls 파일에 결과 탭을 이어놨기 때문에 확인만 하면된다.
2. views 파일 수정하기
calculate > views.py
불러온 엑셀 파일을 계산할 수 있게 세션 값을 받아오는 코드를 추가해줘야 한다.
아래에 pandas 실행코드를 주석처리해서 캡쳐가 되진 않았지만, 결과 페이지로 돌아가야하는 응답코드를 바꿔줘야 한다.
grade_calculate_dic_to_session = {}
for key in grade_list:
grade_calculate_dic_to_session[int(key)] = {}
grade_calculate_dic_to_session[int(key)]['max'] = float(grade_calculate_dic[key]['max']) #float 자료형으로 변환
grade_calculate_dic_to_session[int(key)]['min'] = float(grade_calculate_dic[key]['min']) #float 자료형으로 변환
grade_calculate_dic_to_session[int(key)]['avg'] = float(grade_calculate_dic[key]['avg']) #float 자료형으로 변환
request.session['grade_calculate_dic'] = grade_calculate_dic_to_session
request.session['email_domain_dic'] = email_domain_dic
return redirect("/result")
3. 결과 페이지 수정하기
4. 실행하기
런서버를 해서 로그인을 하고 엑셀파일을 올려 실행결과를 확인해보자
728x90
반응형
'데이터' 카테고리의 다른 글
Chat GPT를 활용해서 pandas DF를 html로 만들기 (0) | 2023.08.03 |
---|---|
Django로 회원가입/로그인 페이지 만들기 (Python) - 7탄 (0) | 2023.08.03 |
Django로 회원가입/로그인 페이지 만들기 (Python) - 5탄 (0) | 2023.08.02 |
가상환경 jupyter lab을 이용해 selenium 활용하기 (Python) - 1탄 (0) | 2023.08.02 |
Django로 회원가입/로그인 페이지 만들기 (Python) - 4탄 (0) | 2023.08.02 |