질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요. 질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다. 시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다. 오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-) 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. postgresql 을 다른 서버에 연결하여 사용중인데요. runserver 시에는 정상 작동하나 강사님이 올려주신 pytest를 똑같이 설정하고 실행하면, schema가 없어서 table을 생성할 수 없다는 오류가 발생합니다. MigrationSchemaMissing("Unable to create the django_migrations table 일단은 settings.py를 sqlite3로 변경하여 정상 작동은 시켰는데요 어떻게 수정할 수 있을까요? 또한 올려주신 소스코드에서 import factory from accounts.models import User class UserFactory(factory.django.DjangoModelFactory): class Meta: model = User django_get_or_create = ("username",) username = factory.Sequence(lambda n: f"user{n}") email = factory.LazyAttribute(lambda user: f"{user.username}@example.com") # UserFactory 인스턴스 생성 시에, 암호 입력을 지원하기 위함 # raw_password 필드가 아니라 password 필드로 지정하면, 암호화없이 입력값 그대로 저장됩니다. raw_password = factory.Faker("password") @classmethod def _create(cls, model_class, *args, **kwargs): # raw_password 필드값을 암호화하여 password 필드에 저장합니다. # User 모델에는 raw_password 이름의 필드가 없으므로 kwargs 사전에서 제거해줘야만 합니다. raw_password = kwargs.pop("raw_password", None) if raw_password: kwargs["password"] = make_password(raw_password) return super()._create(model_class, *args, **kwargs) make_password 부분이 import 되어 있지 않습니다. git에서는 수정되어 있는 모양인데 참고 부탁드립니다.
강의에서 설명하지 않으신 내용인데요 가능한지 궁금하여 여쭈어봅니다. Conda-forge 내에 postgresql package가 있습니다. ( Postgresql | Anaconda.org ) 물론 서비스 시에는 database 서버를 따로 두는게 좋다는건 수업 때 설명으로 이해하였습니다. 그러나 실 서비스 시 postgresql를 사용할 것이라면 개발 시에 sqlite 대신 위 package를 사용하는게 만약 더 적합할까요? 배포 과정 설명 시에 로드 밸런서가 작업을 서버에 할당해준다고 설명해 주셨는데, 보아하니 각 작업을 싱글 쓰레드로 할당하는 것 처럼 보였습니다. 장고의 경우 View 단에 multithread로 작업할 내용이 있다면, 어떻게 처리해야 하나요?
안녕하세요 강사님. 인자로 받는 self는 그 c++의 this 포인터 같은 개념으로 보면 될까요, 그리고 list_display 안에 cover_image를 cover_image_tag로 바꿨는데 처음에 cover_image는 같은 클래스(SongAdmin)에 있는 함수라 list_display에서 사용가능한거고, cover_image_tag는 models 파일 안에 Song 클래스 안에 있는 함수라 list_display에서 사용이 가능한걸까요? 감사합니다.
강사님 안녕하세요, HTMX와 모달을 활용한 댓글 기능을 구현하는 코드 작성 중에 crispy form이 적용이 되지 않고 오류가 발생해서 문의드립니다. 작성하고 있던 코드는 _comment_form.html 파일의 코드입니다 아래 이미지는 발생한 에러 내용입니다. comment_form.html 파일의 코드를 구현하고 로컬호스트에 띄운 개별 Note 페이지의 하단에 '댓글 쓰기' 버튼을 클릭했을 때, crispy form이 렌더링 되지 않고 위와 같은 에러가 발생하는 케이스입니다. 제가 추측하는 것은 context 변수에 담긴 데이터에 문제가 있어서, flatten() 메서드가 동작하지 않아 발생하는 에러 같다고 생각하는데요. 해결하는 방법에 대해 알려주시면 감사하겠습니다! 감사합니다 🙂
안녕하세요 강사님, 강사님 강의는 다른 강사님들 강의와는 다르게 먼저 한번 전체적으로 다뤄주고나서 나중에 세세히 강의해주시는것 같습니다. 지금 장고핵심기능 리뷰를 보고 있는데, 각 섹션마다 수강생들이 어떤 부분을 염두하고 보면 좋은지를 알려주시면, 혹은 어떤 목적으로 섹션을 나눴는지를 알려주시면 제가 강의를 이해하고 앞으로 강의를 듣는데 좀더 이해가 잘 될거같습니다. 감사합니다.
다이어그램을 면, 장고 서버에 네트워크 장애 등으로 인해 client에서 받은 콜백을 넘기지 못하는 경우 웹훅을 사용하는게 안정적이라 하셨는데, 네트워크 장애로 아임포트에서 웹훅 연결이 안되는 경우 처리가 어떻게 되는지 알고 싶습니다. retry가 얼마나 되는지, 대기를 얼마나 하는지 등 웹훅을 이용한 메시지 전송 보장이 어떻게 되는지 질문 드립니다. 만약, 웹훅의 100% 전송 보장이 안된다면 웹훅 또한 별도의 시나리오로 결과를 이중으로 확인 하도록 처리를 해야 하는 건지요? 실제 개발 하셨을 때에는 이 부분에 대해 어떻게 구현 하셨는지도 알고 싶습니다. 예를 들어 웹훅을 더 신뢰하는 것으로 가정한다면, 웹훅의 return을 기준으로 결과를 처리하고 일정 시간동안 타임아웃이 발생하면, 재결제를 시도하는 방식 등이 될거 같은데 실재로는 어떻게 구현이 되고 사용되는지 알고 싶습니다.
이전에 드렸던 질문이 정리가 잘 되지 않았던 것 같아 다시 정리해 질문을 드리고자 합니다. cancel() 함수와 관련하여 아래 동작에 대해 이해가 잘 되지 않아 질문을 합니다. 먼저 admin에서 action을 통해 여러개의 선택된 항목들에 대해 queryset을 가져와 for을 이용해 각 항목에 대해 cancel 처리를 하나씩 수행합니다. @admin.display(description=f"지정 주문결제를 취소합니다.") def make_cancel(self, request, queryset): for order in queryset: order.cancel("관리자가 주문결제를 취소했습니다.") self.message_user(request, f"{queryset.count()}개의 주문결제를 취소했습니다.") 그리고 이후에 호출되는 Order의 cancel()에서는 orderpayment_set.all()을 사용해 하나의 주문에 대한 모든 결제시도 내역을 가져오는 코드를 동작하는 것으로 이해가 됩니다. def cancel(self, reason=""): for payment in self.orderpayment_set.all(): payment.cancel(reason=reason) 관련한 코드를 확인하니 orderpay 모델은 order_pay 뷰에 의해 생성이 되며, 생성 조건으로 주문요청 혹은 결제실패 상태가 됩니다. 그렇다면, orderpayment_set.all() 코드는 한 주문에 대해 성공 및 결제실패에 대한 모든 저장된 결과를 가져와 cancel을 시도하게 되는건데 이게 맞는건지 알고 싶습니다.
영상이 이해가 잘 안되 몇번을 돌려봤습니다. 제가 이해하고 있는게 맞는지 알고 싶어 문의 드립니다. 모바일에서는 콜백함수의 동작이 되지 않기 때문에, m_redirect_url 인자에 url 정보를 정의하면, 결제 페이지 이동 후, 자동으로 정의된 페이지로 이동이 된다 check_url에 의해 order.p k, payment.p k 인자 정보를 받기 때문에 order_check은 별도의 추가 코드 없이 pc와 모바일에서 동일한 동작을 보장받을 수 있다. 제가 이해하는게 맞는지 알고 싶습니다.
코드의 내용을 보자면 admin에서 action을 이용해 여러개의 쿼리셑을 받아 각각을 한번씩 처리합니다. @admin.display(description=f"지정 주문결제를 취소합니다.") def make_cancel(self, request, queryset): for order in queryset: order.cancel("관리자가 주문결제를 취소했습니다.") self.message_user(request, f"{queryset.count()}개의 주문결제를 취소했습니다.") 그런데 Order의 cancel()에서 orderpayment_set, 즉 manytomany 중계 테이블내 모든 관련한 결제 내역을 가져와 cancel을 시도합니다. 결제 가능 여부를 확인하는 코드에서 보자면 def can_pay(self) -> bool: return self.status in (self.Status.REQUESTED, self.Status.FAILED_PAYMENT) 두 가지 조건만 있습니다. 실패했거나, 성공한 경우 입니다. 때문에 DB에는 관련한 주문이 여러간의 실패 + 1건의 성공의 이력인데 굳이 모든 이력을 가져와 cancel을 하는 이유가 무엇인지 알고 싶습니다.
현재 섹션 5의 3번째 영상을 보고 있습니다. category = models.ForeignKey( Category, on_delete=models.CASCADE, db_constraint=False, ) 위 코드에서 카테고리에 왜 db_constraint=False, 를 설정하였는지 이해가 잘 되지 않아 설정 용도에 대해 알고 싶습니다. default=null을 한다면, 카테고리 외래키 없이 product 데이터를 생성할 목적인걸 알겠는데, 없는 상황에서 어떤 이유에 사용하신 것인지 알고 싶습니다.
데코레이터 수업을 듣고 있는데요. @login_required 를 사용하면 비로그인시 로그인페이지로 로그인시 next가 hello_world로 지정되어 hello_world로 가게되는데요. login_required 데코레이터를 보면 redirect_field_name login_url 두 값을 받고 있던데, 이 두 값이 로그인 성공시/비로그인시 가게되는 방향을 명시하는거 같은데, 아무것도 명시안했을때 어디를 바라보는지에 대한 설정은 무엇을 참조하는것인가요??
Cannot install -r requirements.txt (line 5) and requests==2.28.2 because these package versions have conflicting dependencies. 에러가 발생합니다. github 저장소의 requirements.txt를 확인해 주시면 감사드리겠습니다. 2.26.0 버전 설치도 문제가 되네요. poetry로 변경하는데도 의존성 문제는 해결이 안되고 에러가 여전히 발생합니다. 파이썬 버전이 3.12인데 혹시 파이썬 버전이 문제가 될까요? 파이썬 버전이 현재 3.13이 나왔는데.. 아임포트의 해당 패키지는 2021이 마지막 업데이트였고 이후 업데이트가 없는데... 계속 업데이트되는 django와 python 버전이 문제가 될 수 있는건지도 걱정이 되네요.. 개별로 하나씩 패키지를 설치하면 requests가 설치되는것 같네요.. 그런데 requirements.txt를 pip으로 설치하면 호환성 에러가 그대로 발생합니다. 물론 poetry로는 개별 설치가 안됩니다. 정말 이상하네요. 혹시 문제가 무엇인지 확인을 하시게 되면 말씀 남겨 주시면 감사드리겠습니다.
현재는 주문하기 버튼을 클릭하는 순간, 주문정보와 결제정보가 같이 생성되는데 예제이나 보통의 쇼핑몰에서는 결제 시점에 주문정보와 결제정보가 생성되겠죠..? 알리익스프레스의 경우 결제 도중에 취소하면, 결제대기? 비슷하게 주문목록에 남았던 것 같긴합니다. 근데 관리차원에서는 결제가 정상적으로 완료되는 시점에서만 주문과 결제정보를 생성하는게 좋을 것 같은데.. 이 과정에서 로직 상 문제가 될만한 점이 있을까요.?
안녕하세요! 먼저 좋은 강의 제공해주셔서 감사드립니다. 이번에 프로젝트로 FE는 React, BE는 Django로 진행하게 되었고, 제가 Django를 맡게 되어 해당 강의를 수강 중에 있습니다. 커리큘럼을 보다보니 아래 처럼 Django로 FE부분도 구현하는 섹션들이 있는데요! 섹션 (8) 장고 Form을 활용한 생산성 높은 입력폼 처리 섹션 (10) 장고 주도의 웹 프론트엔드 기술과 웹 컴포넌트 섹션 (11) (포토로그 프로젝트) 장고 중심의 웹 서비스 개발하기 물론 나중에는 다 듣겠지만.. 아무래도 시간이 한정되어 있어, Django로 BE만 구현한다고 했을 때 이러한 섹션들도 필수적으로 들어야 하는 것인지 궁금합니다. 예를들면 이후 강의를 수강하려면 앞 강의가 필수적이여야 한다던지 등의 사유가 있을 것 같습니다. 만약에 프로젝트만을 위해서 일단 스킵 가능하다면, 이외에도 혹시 스킵 가능한 섹션이 있는지 문의드립니다! 좋은 강의 만들어주셔서 감사합니다~!