묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
본 강의에서 dj-rest-auth나 django-allauth도 다룰예정인가요?
안녕하세요 강의 잘보고 있습니다. 특히 django template을 이용하여 작업하는 부분에서 도움 많이 되었습니다. django를 학습하면서 궁금한점이 몇 가지 생겨서 여쭤보려고 합니다. 나중에 업로드 되는 DRF 파트에서 dj-rest-auth, django-allauth와 같은 라이브러리를 다루는지 궁금합니다.DRF와 JWT를 이용하여 클라이언트의 react_hook_form + zod와 서버의 django serializer에서 유효성 검사를 진행중입니다. 여기서 서버, 클라이언트 둘 중 한 가지에서만 유효성 검사를 처리하는건 괜찮지만 두 가지 경우에서 유효성 검사를 처리 할때 유효성 검사의 성공 여부와 메세지를 그리는게 생각보다 까다롭더라고요.예를 들어 AUTH_PASSWORD_VALIDATORS 에서 기본 제공되는 유효성 검사를 settings에서 커스텀해서 serializers에 적용하게 된다면 해당 유효성 검사에 사용된 조건들을 추출해낼 수 가 없어서 zod 스키마에는 적용할 수 없었습니다. 따라서 아래 이미지와 같이 직접 전부 커스텀 해서 적용해야 했습니다.클라이언트에서 적절히 걸러내고 아이디 중복체크, 이메일 확인, 최종 유효성 검사 등등 필요한 경우에만 서버에서 유효성 검사를 요하여 트래픽을 줄이려고 하는데 보통 이렇게 처리하는게 맞는건지 궁금합니다.Django Serializers FileNext Typescript zod FileDisplay
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
좋아요 개수 올리기 관련 질문입니다
수업내용을 따라가다가 좋아요 개수가 올라가지 않아서맨아래와 코드와 같이 고쳤더니 좋아요가 올라갔습니다. 기존코드(주석된 것)와 같이likes_dict = get_likes_dict(melon_uid_list) # id와 좋아요 개수가 dict로 뜸이부분에서 likes_dict 를 쓰신 이유가 궁금합니다.그리고 if song.like_count != likes_dict.get(song.melon_uid)이부분은 당연히 같은거라서 if문이 실행이 될수가 없지 않나요? # 액션 def update_like_count(self, request, queryset): melon_uid_list = queryset.values_list("melon_uid", flat=True) likes_dict = get_likes_dict(melon_uid_list) # id와 좋아요 개수가 dict로 뜸 changed_count = 0 for song in queryset: song.like_count += 1 # 기존 코드 # if song.like_count != likes_dict.get(song.melon_uid): # song.like_count = likes_dict.get(song.melon_uid) # changed_count += 1 Song.objects.bulk_update( queryset, fields=["like_count"], ) self.message_user(request, message=f"{changed_count}개 곡의 좋아요 갱신 완료")
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
가상환경을 활성화했더니 (venv) (base) 이렇게 두개가 떠버리는데요
강의에서 보면 가상환경 activate하면 (venv) ~ 이렇게만 뜨는데 이전에 python -m venv venv해놨기 때문에 이번에는 source venv/bin/activate이것만 쳤거든요. 근데 (venv) (base) 이렇게 두개가 떠버리는데 확인좀 부탁드립니다 ㅠㅠ
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
class Song관련 app_label="melon"중 melon은 어디서 온것인가요
아래 코드에서 db_table="songs"는 테이블 이름에서 따온거 같은데 app_lable = "melon"은 어떻게 가져온 것인가요?? melon-20230906.sqlite3에서 앞글자만 가져와도 되는 것인가요??Song.objects 부분에서 Song에 선언된 objects가 없다고 에러가 나는데 왜 나는지와 해결방법 알수있을까요?`class Song(models.Model): id = models.AutoField(primary_key=True) 가수 = models.CharField(max_length=100) 곡명 = models.CharField(max_length=200) 곡일련번호 = models.IntegerField() 순위 = models.IntegerField() 앨범 = models.CharField(max_length=200) 좋아요 = models.IntegerField() 커버이미지_주소 = models.URLField() class Meta: db_table = "songs" app_label = "melon" def index(request): query = request.GET.get('query', '').strip() song_list = Song.objects.all() if query: song_list = song_list.filter( Q(곡명__icontains=query) | Q(가수__icontains=query) ) return render(request, template_name="index.html", context={"song_list": song_list, "query": query}) `
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
로드되지 않은 python 확장프로그램에 의존하기 때문에... 에러가 떠요
아래 에러가 뜨고 자동완성이 되지 않습니다.지웠다가 다시 삭제해도 마찬가지입니다.. ㅠㅠpylint, black formatter둘다 설치가 안되고있는거 같아요
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
vscode에서 sqlite오류가 발생합니다(sqlite could not register service,,)
열려있는 VSCode창은 이것 뿐입니다. 어떻게 해결해야 할까요..
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
1-6 css 프레임워크 질문입니다
동영상강의에서는 bootstraplink rel에 head 쪽에 있는데선생님의 수업노트에는 style쪽에 표기되어있는데 상관 없나요?!
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
black 설치
안녕하세요00-06 black설치과정에 질문입니다.라이브러리에 추가하고 black 패키지 추가하려고 하니깐활성화가 안되어있습니다..어떻게 조치해야 될까요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
클래스질문입니다
1-5에서 8분10초대에서class meta에서db_tables=songs를 데이터베이스 안에서 어떤 경로로 봐야하나요?class song의 클래스라고했는데 어디를 가리키는건지를 잘 이해를 못했습니다 class song은 바로 옆에 사진처럼 바로 이해했는데class meta쪽에서 약간 어디로봐야할지 약간 헷갈립니다!..
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
1-4 데이터베이스연동에서..
질문하기 창피한데 그래도 할게요..1분16초쯤에 파이참 프로에서 더블클릭하라고하셧는데어딜 더블클릭하라는거죠? ㅠㅠㅠ 그리고 main02를 만들어서 멜론데이터 저파일을 만드는건가요?영상에서는 main02 안만들고해서...
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
질문있습니다
0-4장고 개발환경설정 하고있습니다 선생님 코드 복사해서 extensions.json 과 settings.json붙여넣기햇는데도 확장추천목록에 안떠서 그냥 일일히 다운받아서 했습니다그 이후 구동파일생성에서런 앤 디버그 안누르고 create a launce.json file을 눌렀는데선생님 화면처럼 django가 아예 안뜨는데 어디가 문제인지알수있을까요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
어.. 기초 질문있습니다
00-03 코너에서 21분에서 깃 파일에 캐쉬가 좀있엇는데 제가 모르고 그냥 다 커밋시켰거든요 혹시 이거 다시 돌아가서 git rm로 제거를 하려고하는데 어떤 명령어를 통해 뒤돌아가기 하고 삭제하는지 알수있을까요? 구글링 검색하니 너무 많은정보가 나와 함부러 사용하기가 두렵습니다
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
powershell 말고 gitbash로 진행해도 상관없나요?
파워쉘을 써본적이 없어서 미숙한데 진행이 파워쉘로 되는것 같아서 질문드립니다
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
영상대로 하면 에러가 발생합니다.
13:33 부분 출력 결과입니다. File "c:\workspace\mydjango02\main02.py", line 13 cursor.execute(sql, __parameters: [param, param]) ^SyntaxError: invalid syntax다음과 같이 수정하니 됩니다.cursor.execute(sql, [param, param]) 참조하세요.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
엑셀 강의 부분 확인 요청드립니다!
안녕하세요 진석님 🙂 엑셀 강의 부분이 누락된 거 같아 확인 요청드립니다! 감사합니다.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
영상 중에 intercept redirect 질문
안녕하세요! 진석님 강의 잘듣고 있습니다.intercept redirect 강의 파트에서 도중에 끊긴 것 같은데 다음 회차에서 이어지는건가요? 확인 부탁드립니다!늘 좋은 강의 감사합니다:)
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
channels with uvicorn
안녕하세요 선생님강의도 둘러보고, 질문게시판도 찾아보고 며칠동안 시도를 해보다 개발 중 풀리지 않는 부분이 있어 질문을 드리려합니다.(강의와 연관성이 있을지 모르겠습니다만 질문드려봅니다) 일단 현재 gunicorn의 worker로 uvicorn을 사용하는 환경을 구성하였고, 이에 따라 병렬 + 비동기 처리가 가능해진 상황에서 websocket을 활용해보려는 시도 중에 있습니다. session time이 만료되면 웹소켓을 활용하여 브라우저에 시그널을 주려고 하는데요,session관리는 redis로 구성하였고channels와 uvicorn을 조합하여 웹소켓을 관리하려 시도해보고 있습니다. 나름 uvicorn을 활용하여 디버깅 환경도 맞춰 놓았고, whitenoise를 활용하여 static 파일의 서빙도 해결해놓은 상태입니다. 기존 선생님의 웹소켓 강의가 daphne으로 구축되어있는 것으로 파악이 되어 별도로 강의를 수강하진 않았습니다만, 채팅이 아닌 양방향 통신을 위한 웹소켓의 활용에 channels + redis + uvicorn 조합이 어떤지에 대한 견해를 여쭙고 싶습니다. 그리고 로그인 이후 home 앱에 들어왔을때 웹소켓을 최초로 열려고 하는데 (세션은 그 전에 생성됩니다) socket 경로인 ws://127.0.0.1:8000/ws/session_expiry/ 경로를 찾을 수 없다는 문제가 계속 되고 있습니다.이에 대한 해결 법도 궁급합니다. 대략적인 셋팅 화면 캡쳐해서 올립니다. settings 구조config.local (테스트 과정이라 local에만 있습니다, WSGI_APPLICATION은 base에 선언되어있습니다)config.asgi 앱/routing 파일앱/consumers 파일웹소켓 관련 js파이참에서는 NotImplementedError: subclasses of LazyObject must provide a _setup() methodINFO: connection openINFO: connection closed요렇게 에러가 뜹니다. 혹 channels 강의를 들으면 알 수있는 부분이라면 알려주시면 수강할 수 있도록 하겠습니다! 항상 감사드립니다 선생님!
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
mac에서 파이참 파이썬 인터프리터 설정 질문입니다.
안녕하세요 항상 좋은 강의 감사드립니다.현재 저는 아나콘다 가상환경을 사용중이고강의와 첨부 드린 사진 처럼 환경 세팅하였습니다.문제는 설정 후 코드 나 파이참 내에 아이콘을 확인해보면django를 찾을 수 없다고 표시되어 있어서요..이유를 알수있을까요? 혹은 인터프리터 설정의 문제가 아닌걸까요?인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
검색어로 노래 목록 필터링이 안되는 문제
안녕하세요, 진석 님. '01-03 검색 지원' 강의를 듣다가 문제가 생겨 질문을 올립니다. 검색어 입력폼을 구현한 후,검색어로 '악뮤'를 입력하고 검색하면 필터링이 되지 않고 song_list 전체 목록이 뜹니다. 쿼리 값을 사용해서 song_list 필터링을 못하는 것 같은데... 원인을 파악하지 못한채 진석 님 코드로 덮어 쓰기에는 제가 너무 답답해서, 진석 님 코드랑 제 코드도 비교를 해보았는데 코드 까막눈이라 어디서 잘못된지 못 찾겠습니다... 우선 제 코드들과 검색 창을 캡처한 이미지를 같이 첨부했습니다. 도움 부탁 드립니다! <mydjango.py># mydjango.py import sys import django import requests from django.conf import settings from django.core.management import execute_from_command_line # from django.http import HttpResponse from django.shortcuts import render from django.urls import path settings.configure( ROOT_URLCONF=__name__, DEBUG=True, SECRET_KEY="secret", TEMPLATES=[ { "BACKEND": "django.template.backends.django.DjangoTemplates", "DIRS": ["templates"], } ], ) django.setup() def index(request): # qurery 있으면 가져오고, 없으면 빈 문자열로 가져오기 # => 사전에 지정 키가 없더라도 KeyError 예외를 발생시키지 않고 디폴트값 반환 query = request.GET.get("query", "").strip() # 검색어 json_url = "https://raw.githubusercontent.com/pyhub-kr/dump-data/main/melon/melon-20230906.json" response = requests.get(json_url) ''' #예외 발생 처리 코드 .ok 속성이 내부에서 raise_for status 함수를 사용하지만. 예외 발생이 아닌 True/False를 반환 - True: 서버 응답의 상태코드가 400 미만일 경우 - False: 서버 응답 상태코드가 400 이상, 600 미만일 경우 ''' if response.ok: song_list = response.json() else: song_list = [] if query: song_list = filter( lambda song: query in song["가수"], song_list, ) response.raise_for_status() song_list = response.json() return render(request, "index.html", {"song_list": song_list}) urlpatterns = [ path("", index), ] execute_from_command_line(sys.argv) <index.html>{# 장고 템플릿 엔진 주석 문법 : templates/index.html 경로의 파일 #} <!doctype html> <html lang="ko"> <head> <meta charset="UTF-8" /> <title>Melon List</title> <style> body { width: 400px; margin: 0 auto; } table { width: 100%; border-collapse: collapse; } table, th, td { border: 1px solid black; } form { margin-bottom: 10px; } form input { width: 100% } </style> </head> <body> <h1>Melon List</h1> <form action="" method="get" autocomplete="off"> <input type="text" name = "query" placeholder="검색어를 입력해주세요." autofocus/> </form> <table> <thead> <tr><th>곡명</th><th>가수</th></tr> </thead> <tbody> {% for song in song_list %} <tr> <td>{{ song.곡명 }}</td> <td>{{ song.가수 }}</td> </tr> {% endfor %} </tbody> </table> </body> </html> <main01.py># 더 많은 노래를 보여주고 싶어요. import requests # pip install requests from pprint import pprint # 가독성좋게 출력하기 위한 모듈 json_url = "https://raw.githubusercontent.com/pyhub-kr/dump-data/main/melon/melon-20230906.json" response = requests.get(json_url) response.raise_for_status() # 비정상 응답을 받았다면, HTTPError를 발생시킵니다. song_list = response.json() print(type(song_list), len(song_list), type(song_list[0])) pprint(song_list) <검색어에 '악뮤' 입력 시, 나오는 화면>
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
자막(자동자막?) 오류
영상에 자막 기능이 생겨셔 켜놓고 보다보니대부분읜 괜찮은데 가끔 버전 등 숫자가 다르게 나온다던가 하는 부분이 보이더군요.이 자막은 자동자막으로 만들어진건가요?만약 상이한 부분이 있으면 피드백을 드려야 할지, 아니면 자동 자막이라 어쩔 수 없는 것인지문의드립니다~