묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
IP Field와 AccessLog 관련
질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요.질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다.시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다.오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-)인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Q17-01 02 강의에서 ipv4address custom field를 생성하셨는데요8-20 강의 같이 이후에는 그냥 Django GenericIPAddressField를 사용셨습니다.7-01 02강의는 그냥 custom 필드를 보여주기 위한 예시이고 그냥 장고에서 제공해주는 IP 필드를 사용하면 되는건가요? 아니면 차이점이 존재하는 건가요? Q2제가 제작한 사이트의 사용량 집계를 위해 로그를 얻으려고 합니다.class AccessLog(models.Model): request = models.URLField() time = models.DateTimeField(auto_now=True) user = models.ForeignKey(User, on_delete=models.CASCADE, null=True) ip = models.GenericIPAddressField()상기와 같은 모델을 작성하여 request가 client로 날라올 때마다 db에 쌓아나가는게 맞을까요? 아니라면 logger를 이용하는게 맞을까요?
-
미해결파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편
djlint 편집시 무한 동작
사진과 같이 편집할 때 마다 djlint가 계속 검사합니다ㅠㅠ black은 처음엔 그러다가 자동 저장 설정 변경한 뒤부터 안 그러는데 djlint의 경우는 자동저장을 바꾸고 감시기 설정 체크 모두 해제해도 1바이트의 글자만 입력해도 자동 감시를 시작하는군요ㅠㅠ 혹시 아시는 바가 있을까요... 지피티가 해결을 못 해주어서 1시간이 넘게 고생하는 중입니다ㅠㅠ...
-
미해결파이썬으로 장고(Django) 공략하기: 입문
putty 관련 질문
안녕하세요.ppt에 나와있는대로 putty 접속을 시도하는데,Unable to use certificate file (PuTTY SSH-2 private key) 이런 메세지가 뜨면서 안됩니다.해결방법이 있을까요?
-
미해결Django REST Framework 핵심사항
블로그 첫 화면이 안 나옵니다.
블로그 첫 화면이 안 나와요ㅠㅠ
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
커스텀 모델 생성 시 에러 발생 이유
07-27 관계를 표현하는 모델 필드 - models.ManyToManyField 커스텀 관계 모델로 이전하기 (실습) 2분 18초쯤에 오류 예시를 보여주셨는데 혹시 에러가 나는 이유가 뭔지 알 수 있을까요? 기존 M2M 필드에 through를 바로 추가할 수 없기 때문인가요?
-
미해결실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
직렬화 질문
from snippets.models import Snippet from snippets.serializers import SnippetSerializer from rest_framework.renderers import JSONRenderer from rest_framework.parsers import JSONParser snippet = Snippet(code='foo = "bar"\n') snippet.save() snippet = Snippet(code='print("hello, world")\n') snippet.save() 튜토리얼 보고 따라하고 있었는데 shell에 이 부분을 저장하는 방법을 잘 모르겠습니다 혹시 한번만 상세하게 알려주실 수 있을까요??
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
abstract=True를 사용한 상속 시 컬럼 순서
07-07 강의에서 상속을 써서 중복 컬럼을 제거하는데요상속을 먼저 받기 때문에 날짜 컬럼 순서가 앞에 위치합니다.순서를 뒤로 바꾸려면 어떻게 해야하나요?
-
해결됨실전! Django 활용
pg_bigm으로 product의 name필드로 상품 검색
안녕하세요, 강의 아주 재밌게 듣고 있습니다! 정말 필요한 강의 제공해주셔서 감사드립니다. 이번에 상품 검색 - 한글 full-text search를 듣고 궁금한게 생겨 질문 남깁니다.이전 강의에서는 tags에 영문 데이터를 추가하여, search_vector과 역인덱스를 생성하여 상품을 검색했을때는 tags가 변경되었을 때, search_vector과 역인덱스도 수정해주는 코드를 마이그레이션에 추가하셨는데요. name에는 따로 그런 코드를 작성하지 않아서, name도 수정될 때 역인덱스가 수정되는지 궁금합니다.
-
해결됨실전! Django 활용
product의 name 필드로 상품 검색시 생성한 gin index사용 여부
안녕하세요 강사님!상품검색 - 한글 full-text search 구현 부분 듣다가 궁금한 점이 생겨 질문 남깁니다.product_list_handler에서 query가 있을 때, products를 필터하는 orm에서 100개로 갯수를 제한하는데요.강의에서처럼 explain으로 쿼리 실행계획을 볼 때, 데이터가 얼마 없을때는 full scan을 하고, 많으면 모델에서 생성한 'product_name_gin_index'를 통해 scan을 하더라구요.언제부터 인덱스에서 스캔하나 궁금해서 limit를 늘려가면서 확인했는데, 제 로컬에서는 limit가 12,800개가 넘어갈 때 인덱스를 사용하더라구요. 이렇게 되면 100개로 제한해서 쿼리하면 어차피 인덱스를 사용하지 않을것 같은데 맞나요?맞다면 결과적으로 product_name_gin_index 인덱스를 사용하지 않는데, 이 인덱스를 생성한게 의미가 있을까요?? 응답할 때 페이지네이션을 필요하니까 한번에 10,000개 이상 보낼 일은 없을 것 같은데 인덱스를 생성한 장점이 있는지 궁금합니다!def product_list_handler( request: HttpRequest, category_id: int | None = None, query: str | None = None ): """ 쿼리 파라미터인 category_id, query에 따라 상품 목록 조회 API """ if query: products = Product.objects.filter( name__contains=query, status=ProductStatus.ACTIVE )[:100] ... (생략) pass
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
원본이 제대로 작동하려면 현재 컴퓨터의 두 글자 지리적 지역을 백 엔드 서비스로 보내야 합니다(예: "미국"). 의 뜻을 알고 싶습니다.
말씀주신 명령프롬프트에서 올려주신 winget install 명령어들을 쳐서 진행하는중 처음부터 문제가 생겼습니다.원본이 제대로 작동하려면 현재 컴퓨터의 두 글자 지리적 지역을 백 엔드 서비스로 보내야 합니다(예: "미국"). 라는 문구가 뜨며 Y or N 으로 결정 해야하는데 Y를 눌렀다가 어떤식으로 될지 몰라서 질문 올립니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
08-28 review list 가 로그인을 필요로 합니다
질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요.질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다.시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다.오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-)인프런 서비스 운영 관련다문의는 1:1 문의하기를 이용해주세요.강의를 쭉 따라가면서 실습 중입니다. 강의 자료를 그대로 복사 붙여넣기 하였는데,reviews/newreviews/<pk>/reviews/<pk>/edit는 정상 작동하나reviews/ 의 경우,localhost:8000/accounts/login/?next=/blog/reviews/로 redirect 되고 accounts/login이 정의되지 않아 404 not found 에러가 발생합니다강의 순서 상 profile edit만 accounts app에 구현되어 있는 상황입니다.하기와 같이 잘 복사해서 사용하였는데 왜 이런 오류가 발생할까요?# views.py review_list = ListView.as_view( model=Review, ) # urls.py path("reviews/", views.review_list, name="review_list"),
-
미해결플러터와 장고로 1시간만에 퀴즈 앱/서버 만들기 [무작정 풀스택]
heroku 유료 결제 관련
heroku create drf-quiz-test 하니까 Creating ⬢ drf-quiz-test... ! ! To create an app, verify your account by adding payment information. ! Verify now at https://heroku.com/verify Learn more at ! https://devcenter.heroku.com/articles/account-verification이런식으로 에러 뜨길래 왜인가 하고 찾아보니까 유료 결제를 안 해서 그런 것 같더라구요.. adding payment 를 하라는 에러인 듯 한데, adding payment가 결제 하는거더라구요. 이 부분은 결제하고 강의 따라서 계속 진행하면 되는 건가요? 처음이라 잘 모르겠어서 질문합니다
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
파이썬 가상환경에 대해 질문이 있습니다.
안녕하세요 저는 현재 딥러닝 개발자로 일하면서 장고 강의를 듣고 있는 초보 개발자입니다.보통 딥러닝에서 파이썬 가상환경을 구성할 때 anaconda를 이용합니다. 그런데, 선생님께서는 venv를 사용하여 가상환경을 구성하시더라구요!anaconda 가상환경과 venv가상환경의 차이가 뭔지 궁금합니다ㅎㅎ웹개발에서 venv 가상환경을 사용하는 이유가 있나요??항상 좋은 강의 올려주셔서 감사드립니다:)인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
질문이 있습니다.
강사님 안녕하세요. 강의를 보다보면 배워야할 점이 많이 보입니다. - 채팅방 그룹 이름을 만들 때 staticmethod 장식자를 활용한다던지- 해당 강의에서 Room 모델 안에서 다른 필드와 섞이는 것을 방지하기 위해 별도의 추상화 클래스를 만든다던지파이썬의 고급 기술? 이라고 해야할까요? 이런 걸 잘 사용하려면 결국엔 의식적으로 사용하려고 하고 연습해야 할거 같은데 추천하시는 강의나 서적이 있을까요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
3d 모델링 사진을 띄워 주고, 외부에서 json으로 값을 받아 데이터 베이스에 저장하고, 불러오는 웹을 만들고 싶습니다.
지금3일차 강의를 듣고 있습니다.전반적인 내용 설명이 잘 되어 너무 감사합니다.그런데 제가 프로젝트를 하나 해야 합니다.3d 모델링 사진을 띄워 주고, 외부에서 json으로 값을 받아 데이터 베이스에 저장합니다.그리고 저장된 값을 가져와서 계산하고 보여 주는 웹을 만들고 싶습니다.강의 자료가 너무 많은데 어느 부분을 공부하면 도움이 될까요?아니면 싶게 만들수 있는 아이디어 부탁을 드립니다.당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-)인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
구독 채팅 구현
우선 좋은 강의 감사합니다! 핵심만 빠르게 알려주셔서 도움이 많이 되는 강의라고 생각합니다. 다른 강의도 꼭 들어보려구요 🙂 현재 프로젝트에서 특정 인물에게 구독한 유저들만 특정인물과 채팅을 나눌 수 있는 기능을 구현중에 있습니다! 이런 기능 역시, 미들웨어를 사용하여 scope에 관련 값을 담아서 처리하면 될까요? 기능 구현 전에 선생님 강의를 통해 공부하고 있고, 시작 전 대략적으로 구상하는 단계여서 질문이 애매할 수 있는 점 양해 부탁드립니다
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
07-33 데이터 로드 에러
올려주신 코드에서 ManyToMany 관계를 맺기 전에 pk(즉, id) 값이 필요하기 때문에 bulk_create를 수행하고 tag_set.add 매서드를 호출한다고 강의에서 설명해주셨습니다. def create_posts(orig_post_list): """포스팅 생성""" category_dict = {category.name: category for category in Category.objects.all()} tag_dict = {tag.name: tag for tag in Tag.objects.all()} user_list = list(User.objects.all()) post_list = [] for orig_post in orig_post_list: post = Post( category=category_dict[orig_post["category_name"]], author=choice(user_list), title=orig_post["title"], status=choice([Post.Status.DRAFT, Post.Status.PUBLISHED]), content=orig_post["content"], ) post._tag_list = orig_post["tag_list"] post.slugify() post_list.append(post) if post_list: print(f"{len(post_list)} 개의 포스팅 생성") Post.objects.bulk_create(post_list, batch_size=1000) for post in post_list: _tag_list = [tag_dict[tag_name] for tag_name in post._tag_list] post.tag_set.add(*_tag_list) 그러나 해당 코드를 실행 시 여전히 tag_set.add를 위해서는 id가 필요하다고 에러가 발생합니다.사용 중인 DB는 mysql 이며, 일단 임시 변통으로 bulk_create 전에 id를 직접 할당하여 해결하였습니다.for idx, orig_post in enumerate(orig_post_list): post.id = idx + 1 # id는 0이 될 수 없음 그러나 이는 --clear argument를 주었기 때문에 가능한 행위였습니다. 수정하기 위해서 하기와 같은 방법이 적절할까요? 그리고 왜 제 경우만 에러가 발생하는 걸까요? if post_list: print(f"{len(post_list)} 개의 포스팅 생성") Post.objects.bulk_create(post_list, batch_size=1000) tag_lists = [t for t in orig_post["tag_list"]] post_list = Post.objects.all() # id 로드를 위함 for post, tag_list in zip(post_list, tag_lists): _tag_list = [tag_dict[tag_name] for tag_name in tag_list] post.tag_set.add(*_tag_list)
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
settings.json과 extensions.json의 내용은 어디서 가져오나요? 강의 영상에는 그냥 text파일에 저장된 것을 가져오는데.. 어디서 가져오는 모르겠습니다
질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요.질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다.시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다.오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-)인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
오류
안녕하세요 강사님. 강사님의 강의를 보고 블로그를 직접 만들어서 현재 공부기록을 올리고 있었습니다. 그러던 중에 갑자기 오류가 나면서 제 웹사이트에 접속이 안되는 문제가 발생하였습니다. 도메인은 giyeonss.com 입니다. 어떻게 해야 하나요?
-
미해결실리콘밸리 엔지니어와 함께하는 샐러리(Celery)
product level에서 celeryd를 사용하시나요?
명령어가 아닌, docker 컨테이너에서 데몬으로 만들어 사용해 보려고 celeryd를 https://celery-safwan.readthedocs.io/en/latest/userguide/daemonizing.html위 레퍼런스를 따라 설정을 해보았는데 이틀동안 작업을 해보았지만, 결코 celery가 작업을 가져가지 않더라고요.혹시 사용해 보신적이 있다면 제가 사용한 설정 내용에서 오류가 있는지 확인을 부탁드려도 될까요?# Names of nodes to start # most people will only start one node: CELERYD_NODES="worker1" # but you can also start multiple and configure settings # for each in CELERYD_OPTS #CELERYD_NODES="worker1 worker2 worker3" # alternatively, you can specify the number of nodes to start: #CELERYD_NODES=10 # Absolute or relative path to the 'celery' command: CELERY_BIN="/usr/local/bin/celery" #CELERY_BIN="/virtualenvs/def/bin/celery" # App instance to use # comment out this line if you don't use an app CELERY_APP="config" # or fully qualified: #CELERY_APP="proj.tasks:app" # Name of the projects settings module. export DJANGO_SETTINGS_MODULE="config.settings.dev" # Where to chdir at start. CELERYD_CHDIR="/www/test-project" CELERYBEAT_CHDIR="/www/test-project" # Extra command-line arguments to the worker CELERYD_OPTS="--time-limit=300 --concurrency=2" # Configure node-specific settings by appending node name to arguments: #CELERYD_OPTS="--time-limit=300 -c 8 -c:worker2 4 -c:worker3 2 -Ofair:worker1" # Set logging level to DEBUG #CELERYD_LOG_LEVEL="DEBUG" # Name of the celery config module. # CELERY_CONFIG_MODULE="config.celery" CELERYD_LOG_LEVEL="INFO" # %n will be replaced with the nodename. CELERYD_LOG_FILE="/log/gunicorn/celery/celery-%n%I.log" CELERYD_PID_FILE="/log/gunicorn/celery/celery-run-%n.pid" CELERYBEAT_LOG_FILE="/log/gunicorn/celerybeat/celerybeat.log" CELERYBEAT_PID_FILE="/log/gunicorn/celerybeat/celerybeat-run.pid" # Workers should run as an unprivileged user. CELERYD_USER="root" CELERYD_GROUP="root" # If enabled pid and log directories will be created if missing, # and owned by the userid/group configured. CELERY_CREATE_DIRS=1