본문 바로가기

django5

[django] 404인 경우 실행할 내용 지정 python에서 get_objects_or_404 로 데이터를 받아온 경우, 해당하는 데이터가 없으면 404페이지가 떠버립니다. 이 경우 실행할 내용을 지정하기 위해 처리해보겠습니다 ^0^ 기본 get_list_or_404 를 사용해 아래처럼 코드를 사용했을 때, 해당하는 데이터가 없으면 아래처럼 에러가 뜹니다. dietlist = get_list_or_404(테이블이름, user_id=idx, date=date) 그런데 만약 데이터가 종종 없다면? 데이터가 없는 게 비정상적인 일이 아니라면 추가로 실행할 내용을 지정해 줘야 합니다. 이 경우 get_objects_or_404 를 사용하게 되면 추가 실행 내용을 지정해줄 수 없어요. 대신 아래처럼 변경해주면 됩니다. dietlist = 테이블.object.. 2022. 5. 31.
django 실행 시 에러 해결(did you install mysqlclient?) django를 실행하려고 python manage.py ....명령어들을 치면 자꾸 아래 메시지가 나왔습니다. django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient? pip install mysqlclient를 하면 아래처럼 자꾸 디렉토리가 이것도 없고 저것도 없다고 에러가 뜨더라고요. MySQLdb/_mysql.c -o build/temp.linux-x86_64-cpython-310/MySQLdb/_mysql.o -std=c99 error: command 'x86_64-linux-gnu-gcc' failed: No such file or directory [end of ou.. 2022. 5. 18.
[django] 입력값과 일치하는 것들에 수식 넣기 목표 : 음식 이름을 입력하면 일치하는 항목을 찾아 해당 음식의 중량 대비 kcal, 탄수화물, 지방 등의 영양 정보를 계산하고 sql에 합계값을 저장하도록 합니다 프로젝트 진행 중, AI가 사진을 분석한 결과값(음식 이름, 중량)을 리턴해주면 값을 정제하여 MySQL에 저장해주는 기능이 필요해졌습니다. 일단 음식 이름과 중량 대비 영양소가 어느정도인지 기준 데이터가 필요합니다. 데이터는 AI Hub에 있는 '영양성분 데이터'를 사용하기로 했습니다. 데이터는 아래처럼 구성되어 있어요. MySQL에 이 데이터를 넣으려 합니다. 먼저 테이블을 생성해야 하는데 저희 프로젝트는 django를 프레임워크로 사용하므로 django의 models를 사용하여 생성해 주기로 합니다. 컬럼 이름이 참 직관적이죠..? ^_.. 2022. 5. 10.
[django] 장고에서 return 지정하기 웹 페이지를 만들다 보면, 백엔드 로직을 수행하고 나서 바로 html로 이동하는 경우도 있지만 url을 직접 지정해줘야 하는 경우도 있습니다. 이런 return방법들을 정리해보려 합니다! * 각각의 방식 사용 시 import해줘야 하는 내용도 함께 기재합니다! 1. 기본형 (이동할 html을 지정해주기) return render(request, '이동할_html_화면.html, 추가적으로_보내줄_정보가_있다면_여기에_딕트_추가) 2. 다른 views파일의 def로 이동하기 from django.http import HttpResponseRedirect from django.urls import reverse return HttpResponseRedirect(reverse('앱이름:뷰def이름', args.. 2022. 5. 4.
Django -MySQL 데이터에 필터 걸어 딕트로 가져오기 목표 : 아이디와 날짜를 받아 일치하는 데이터들의 합계를 구하기 자세히 설명하면, 보시는 것처럼 링크에 id와 날짜 문자열이 입력되면 그 값을 받아서 MySQL의 DB 중 user_idx컬럼의 값이 id인 zenna와 같고, date컬럼의 값이 날짜(date)인 '2022-04-14'와 같은 데이터를 고릅니다. zenna는 2022-04-14에 데이터를 두 번 등록했네요. 딕트의 dang은 4+0=4, dan은 8.74+41.8= 50.54 니까 딕트에는 {'dang' : 4, 'dan' : 50.54} 식으로 추가가 되겠네요. 파이썬 작업 코드는 views.py에 작성합니다. 필요한 것들을 먼저 import해주겠습니다. MySQL의 DB는 'diet'라는 테이블에 저장되어 있습니다. 따라서 테이블을 불.. 2022. 4. 15.
728x90