묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
배포 문제
안녕하세요 강사님. 강의를 듣고 배포중에 에러가 났습니다.AWS의 Lightsail react 인스턴스와 django 인스턴스를 하나씩 만들어서 배포하는 중 서버와 API통신은 되지만 Socket통신이 되지않고 있습니다.WebSocket connection to 'ws://{path}/ws/chat/' failed 와 같은 에러가 나타는데 혹시 네트워크 설정이나 따로 해줘야할 설정같은게 있을까요??
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
jupyter notebook 에서 No module named 'django_extensions' 에러가 발생합니다 ㅠ
8강 장고 Shell 에서는 에러 없이 잘 되었는데, 지금은 스샷처럼 에러가 발생하네요 ㅠ 여기저기 찾아봐도 환경설정은 추가되어 있는거 같고 방법을 모르겠어서 질문 남깁니다. 시간되실 때 확인해주시면 감사하겠습니다. ^^
-
미해결Django REST Framework 핵심사항
CSRF Token에 대한 질문입니다.
안녕하세요. 강의는 잘 들었습니다.강의와 관련이 없지만 해답을 찾지 못해 이렇게 남깁니다.. 다름이 아니라 제가 jwt token을 사용하여 프로젝트를 구현을 했습니다. 제가 알고 있는 것은 jwt token을 사용하게 되면 csrf token이 필요없기 때문에 발급하면 안되는 것으로 알고 있습니다. 그래서 X-CSRFToken을 발급하지 못하게 하고 싶은데 검색해도 찾지 못했습니다. 일단 제가 해본 것으로는 settings.py -> 'django.middleware.csrf.CsrfViewMiddleware' 을 주석처리.dj-rest-auth -> REST_AUTH 설정.이 있습니다. 토큰에 대해 잘못알고 있거나 어딜 수정하면 될지 피드백을 주시면 감사하겠습니다.
-
미해결장고 설계철학으로 시작하는 파이썬 장고 입문
stmp메일 발송 username password오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 강사님마지막으로 send_hello_email.py를 만들고 python manage.py send_hello_email을 실행하니까 아이디가 거부되었다는 에러가 발생합니다.해결 방법이 있을까요?,,
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
혹시 말안듣고 장고 최신버전(4.2)으로 하시는 분들 parse_header() 문제
drf와 django버전이 안맞아서 그렇습니다parse_header()는 django 4.2에서는 없어졋는데drf 최신버전에서는 여전히 사용합니다.django 4.1 로 재설치하면 해결됩니다!
-
해결됨파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
asgi 배포관련
안녕하세요 선생님강의를 다 듣고 본 강의를 기반으로 chat bot을 프로젝트로 배포하려고 하는 수강생입니다.aws를 통해서 배포하려고 자료를 찾아보는데 대부분 wsgi기반의 웹에 대해서 나와있더라고요.. 혹시 asgi를 기반으로 하는 웹은 어느경로를 통해서 배포하는게 나을지 물어볼 수 있을까요?
-
미해결실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
(wsl2-ubuntu에) docker/django 설치 방법과 환경설정이 강의화면에 나오지 않아 헤매고 있습니다. ㅠㅜ
(wsl2-ubuntu에) docker/django 설치 방법과 환경설정이 강의화면에 나오지 않아 헤매고 있습니다. ㅠㅜ
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
DjangoJSONEncoder에서 언급하신 재귀적 로직의 개념
class MyJSONEncoder(DjangoJSONEncoder): def default(self, obj): if isinstance(obj, QuerySet): return tuple(obj) elif isinstance(obj, Post): return {'id': obj.id, 'title': obj.title, 'content': obj.content} elif hasattr(obj, 'as_dict'): return obj.as_dict() return super().default(obj)JSON 직렬화 강의에서 위의 구문의 return tuple(obj) 이 실행될 경우 재귀적으로 default 메서드를 탄다고 말씀하셨는데 어떤 원리인지 이해를 하지 못했습니다.튜플로 변환될 때 어떻게 MyJSONEncoder가 이를 인지하고 작동하는지 여쭤봅니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
도커 컨테이너 내용 수정
안녕하세요 강사님! 파이썬 3.10 이상인 상태로 배포를 하려합니다! 배포를 하는 도중AttributeError: module 'collections' has no attribute 'Callable'가 발생하여 보니 pydenticon 에러였습니다. 이런 경우는 컨테이너 안에서 수정을 해야할 것 같아서docker run -it <이미지 이름> /bin/bash으로 수정 후 docker commit을 진행했습니다.하지만 이 경우, 문제가 생기는데 docker run --rm --publish 9000:8000 -it <이미지이름> sh를 실행하여, python3 manage.py runserver 0.0.0.0:8000 을 직접 실행해줘야만 하는 번거로움이 있었습니다. 혹시 이를 해결하기 위한 방법이 있는지 알고싶습니다.감사합니다.
-
해결됨실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
장고 모델 임포트
안녕하세요, 수업 다시 보면서 복습하고 있습니다. 기초부터 고급까지 파이썬 강의도 보면서 공부하고 있는데 클래스 임포트 관련해서 궁금한 점이 있습니다.from django.db import models 이게 잘 이해가 안가요 ㅠㅠ 기초 파이썬 강의에서 from 뒤에는 파일이나 모듈, import 뒤에는 클래스나 변수가 온다고 이해했는데요. models가 일단 클래스나 변수는 아닌 것 같고, 파일 같은데 from django.db import models 이렇게 쓰는 이유가 뭘까요..?import django.db.models 이렇게 쓸 수도 있나요? 답변 해주시면 감사하게 공부하도록 하겠습니다! ㅎㅎ
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
from .models import Question
강의중에 나온건 아니지만views.py 에서 models의 함수를 가져오기 위해서import할때 왜 models가 아닌 .models인걸까요?models.py는 이렇습니다.심지어 . 을 붙이지 않으면 오류가 뜹니다.ModuleNotFoundError: No module named 'models'.이 현재 디렉터리를 뜻하는것 같은데 하지 않았을때와 했을때 다른 경로의 모듈을 import하는걸까요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
Post model에서 manytomany 관련 filter 경고
상단에 문제는 상관없는 문제인가요???
-
해결됨파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편
AbstractPortonePayment 모델 update 속성 질문
self.pay_status = self.meta["status"]order_detail 뷰 구현 파트에서 결제 완료 후 템플릿에서 {{payment.pay_status}}를 하려고 보니 meta가 비어있는 값이더라구요.혹시 이 meta가 어떻게 저장되는지 알 수 있을까요?payment = OrderPayment.create_by_order(order)에서 payment.meta를 print해 보아도 비어있는 값이라 어디서 잘못되었는지 찾고 있습니다..
-
미해결파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
채팅할때 유저인증을 어떻게 처리해야 할까요??
다른 기능은 전부 스프링 서버에 구현 되어있고 장고는 채팅 서버만 구현되어있습니다. 이럴때 유저인증을 어떻게 해야할까요..
-
해결됨Vue.js - Django 연동 웹 프로그래밍 (실전편)
장고 모델의 ForeignKey 관련 해서
안녕하세요 강사님강의 밖의 주제이긴 한데, 궁금한게 생겨서 질문드립니다. django 모델에서 다른 모델을 만들고 ForeignKey로 연결하면 ( 예를 들어, Post 모델 안에서 owner) 그럼 다수의 Post 테이블은 각 하나의 owner를 가질 수 있잖아요, 그렇다면 예를 들어, 철수 라는 owner 테이블, 민지라는 owner 테이블이 있고, 저는 철수 owner에 속한 Post테이블들을 가져 오고 싶으면 view 에서 queryset = Post.objects.filter(owner__username=철수) 이런 식으로 가져와야 하는건가요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
(수정)한 포스팅에 사진 여러장을 업로드하려고 수정해봤습니다
하나의 포스팅에 여러 이미지들을 업로드하는 코드를 선생님 강좌를 보면서 나름대로 수정해봤는데 코드가 많이 엉킨 것 같습니다.우선 코드부터 보여드리자면mainfunc/models.pyfrom django.db import models from django.conf import settings from django.contrib.auth.models import User #Label 테이블 -- 유저(외래키), 레이블 class Label(models.Model): id = models.BigAutoField(primary_key=True) author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True) label_name = models.CharField(max_length=50, default='') #Post 테이블 -- 레이블(외래키), 이미지 class Post(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True) label = models.ForeignKey(Label, on_delete=models.CASCADE) image = models.ImageField(upload_to='images/%Y/%m/%d', blank=True, null=True) def __str__(self): return f'{self.label}' mainfunc/serializers.pyfrom rest_framework import serializers from .models import Post, Label from django.contrib.auth import get_user_model class AuthorSerializer(serializers.ModelSerializer): class Meta: model = get_user_model() fields = '__all__' class PostSerializer(serializers.ModelSerializer): # post에서 이미지를 한번에 입력받아서 저장할 것이기 때문. image = serializers.ImageField(use_url=True) class Meta: author = AuthorSerializer(read_only=True) model = Post fields = ['image'] class LabelSerializer(serializers.ModelSerializer): images = PostSerializer(many=True, read_only=True) def get_images(self, obj): image = obj.post_set.all() return PostSerializer(instance=image, many=True).data class Meta: model = Label fields = ['author', 'label', 'images'] # fields = '__all__' def create(self, validated_data): instance = Label.objects.create(**validated_data) image_set = self.context['request'].FILES for image_data in image_set.getlist('image'): Post.objects.create(label=instance, image=image_data) return instancemainfunc/views.pyfrom rest_framework.viewsets import ModelViewSet from .serializers import PostSerializer from .models import Post from rest_framework.permissions import AllowAny from django.db.models import Q # CRUD가 모두 들어간 API를 지원 class PostViewSet(ModelViewSet): queryset = Post.objects.all() serializer_class = PostSerializer #permission_classes = [AllowAny] #FIXME: 인증 적용 def get_queryset(self): qs = super().get_queryset() qs = qs.filter( # "author" 필드가 현재 요청한 사용자 (self.request.user)와 동일한 값을 가지는 객체만 필터링 Q(author=self.request.user) #본인이 작성한 글만 볼 수 있도록 함. ) return qs def perform_create(self, serializer): serializer.save(author=self.request.user) return super().perform_create(serializer) model 설계가 잘못된걸까요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
React에서 일괄번역을 할 수 있는 API나 라이브러리가 있을까요??
요즘은 홈페이지마다 번역기능이 달려있는데 i18n을 사용하여 일일히 다는 방법외에는 없는건가요?? 페이지 전체를 자동번역을 할 수 있는게 있는지 궁금합니다!
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
db쪽에 자꾸 에러가 납니다
현재 MySQL을 사용해서 선생님 강의를 보며 모델을작성중인데 계속 이런 에러가 뜹니다. django.db.utils.OperationalError: (1054, "Unknown column 'accounts_user.password' in 'field list'")accounts/models.pyfrom django.conf import settings from django.contrib.auth.models import AbstractUser from django.db import models class User(AbstractUser): pass./ serializers.pyfrom rest_framework import serializers from django.contrib.auth import get_user_model User = get_user_model() class SignupSerializer(serializers.ModelSerializer): #pw 보안 password = serializers.CharField(write_only=True) def create(self, validated_data): user = User.objects.create(username=validated_data["username"]) user.set_password(validated_data["password"]) #암호화된 비번 저장 user.save() return user class Meta: model = User fields = ["pk", "username", "password"]./views.pyfrom django.contrib.auth import get_user_model from django.shortcuts import render from rest_framework.permissions import AllowAny from rest_framework.generics import CreateAPIView from .serializers import SignupSerializer #회원가입 뷰 #createapiview 이므로 get 메소드 허용X class SignupView(CreateAPIView): model = get_user_model() serializer_class = SignupSerializer permission_classes = [ AllowAny,#실제로 회원가입할 때는 로그인은 되면 안됨 ] 그리고 accounts의 user를 참조하면서 라벨과 이미지를 첨부할 수있는 mainfunc의./models.pyfrom django.db import models from django.conf import settings from django.contrib.auth.models import User class TImestampedModel(models.Model): # 기본 필드값 created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) class Meta: abstract = True class Post(TImestampedModel): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) label = models.CharField(max_length=50, default='') images = models.ImageField(upload_to='images/%Y/%m/%d', blank=True) def __str__(self): return f'{self.author}' ./views.py from rest_framework.viewsets import ModelViewSet from .serializers import PostSerializer from .models import Post from rest_framework.permissions import AllowAny from django.db.models import Q # CRUD가 모두 들어간 API를 지원 class PostViewSet(ModelViewSet): queryset = Post.objects.all() serializer_class = PostSerializer #permission_classes = [AllowAny] #FIXME: 인증 적용 def get_queryset(self): qs = super().get_queryset() qs = qs.filter( Q(author=self.request.user) #본인이 작성한 글만 볼 수 있도록 함. ) return qs 이렇습니다.구글링해봐도 대부분은 그냥 migrations 된 파일을 삭제하고 다시 migrate 하니까 해결이 되던데 저는 계속 같은 에러가 뜨네요..혹시 뭐가 원인인지 알 수 있을까요? AbstractUser 로 수정하고나서부터 이런 현상이 나타나긴 했습니다일단 ERD는 아래와 같이 나옵니다.
-
미해결<M.B.I.T> 테스트 페이지 만들기! with Django
장고 ORM 깃허브 업로드 관련 질문입니다.
강의 내용을 응용해서 비슷한 프로젝트를 하고 있습니다.프로젝트 내용을 깃허브 레포에 업로드하는 과정에서 gitignore에 db파일은 올라가지 않도록 되어 있는데 깃허브에서 받은 파일이 완성된 페이지를 보여주도록 하려면 어떻게 해야하나요?이 이슈로 인해서 깃허브에서 다운받은 파일에서는 Question, Choice 등 데이터가 반영이 되지 않습니다.
-
해결됨파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편
장바구니 담기 뷰 강의에서 질문이 있습니다.
장바구니 담기 뷰를 듣기 전까지 ProductListView에서 쿼리셋을 호출하는 변수는 아래와 같이 작성하고 있었습니다. -> 계속 이 쿼리를 참조하고 있다고 생각했습니다. product_qs = Product.objects.all().select_related( "category" )product_list.html에서는 해당 쿼리를 {% for product in product_list %}으로 불러오고 있는데 여기서 쿼리셋의 이름이 되는 product_list가 어떻게 저 이름을 가지게 되는건지 앞 강의에서 설명해 주신것 같은데 맞을까요? 다시 들으려고 했는데 강의가 많아 혹시 어떤 회차인지 알려주시면 감사하겠습니다 ..ㅠ.ㅠ(뷰에서는 따로 객체 이름을 지정해서 전달하지 않아서요) status=ACTIVE인 쿼리만 불러오기 위해 product_qs에 filter를 걸었더니 전체 목록이 나오더라구요. 그럼 제가 그동안 참고하고 있던(화면에 리스트가 보여지는)것은 ProductListView에서 어떤 쿼리셋을 참고하고 있던 것인가요? product_qs = Product.objects.filter(status=Product.Status.ACTIVE).select_related( "category" )product_qs 변수명을 queryset으로 변경하니 필터로 걸러진 목록이 잘 나왔습니다. 그렇다면 제가 변수명을 틀리게 작성하고 있었다는 것인데 어떻게 보여진 것일까요?(3번과 맥락이 비슷합니다!)