수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
AttributeError: 'function' object has no attribute '_meta'
자꾸 오류가 발생하는데 왜 그런지 모르겠습니다..
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요!!!몇가지 질문 드리려고 합니다!!!ㅎㅎ
현재 저는 Django restframework api 로 s3에 video파일을 업로드 하고 이를 처리하는 코드를 만들고 있습니다!! 여기서 저는 AWS Lambda(trigger), S3, Mediaconvert을 통해 업로드 되는 미디어 파일을 일괄 트랜스 코딩 작업을 해서 저장을 하려고 합니다!! 현재 동작방식은 (아직 제 장고서버에는 적용하지 않았지만 테스트 서버로써) s3 특정 버켓에 video파일이 올라가면 자동으로 lambda trigger를 동작시켜 제가 지정한 경로에 video파일이 transcoding이 되도록 작업을 해두었습니다!! (차후 아래 사항이 해결이되면 장고로 video가 업로드가 되면 위를 접목시킬 예정입니다) 1. 제 생각에는 비동기 처리가 순서대로 두번 이루어 지는것 같은데 첫번째로는 파일을 업로드하기위한 post요청시 응답을 비동기 처리 (장고에서 처리) , 두번째는 트랜스코딩 처리 이는 aws단에서 이루어지기 때문에 관련이 없을것같습니다. 그래서 첫번째 post요청시(create video) 비동기 처리를 해야하는데 이와 관련된 참고할만한 class나 자료가 있을까요?? (제가 modelviewset을 활용하고 있는데 create async기능 때문에 상속 class를 바꾸어서 modelviewset의 편리함을 다 포기해야할까요 ㅠㅠ? or 아예 async createapi만 따로 만들어서 처리를 해야할까요!!?? ) 즉!! redit을 보면 비디오 파일 업로드시 비동기처리가 되고 업로드가 완료되면 push알람이 오더라고요 ㅎㅎ 요론식으로 구현을 원해서 이와 관련된 서드파티라이브러리나 좋은 자료가 있을까요!!?? 2. 장고로 파일을 s3에 업로드 하면 저장이 되는데 그중 혹시라도 파일명이 겹칠 수 가 있자나요?? 이부분을 처리를 해야할것같은데 제가 생각한 방법은 전에 선생님께서 전에 알려주신 serializer에 to_representation 메소드를 이용해서 파일명을 임의로 변경해서 reponse하도록 하는것을 생각해 보앗는데 이게 문제는 없는 방법일까요!!?? 아니면 보통 이러한 경우는 어떻게 처리를 하나요!!?? ㅎㅎ 3. 마지막으로 장고랑은 좀 무관한 내용이지만 위와 관련해서 video 트랜스 코딩 과정사항을 알기 위해서 polling과정이 있어야 할텐데 클라이언트에서 polling 이루어지는 과정이 어떻게 되나요 ?? 제가 소속된 팀은 코틀린을 사용하고 있고요 꼭 코틀린이 아니더라도 어떻게 이루어지는 궁금합니다! 그냥 제 개인적인 예상은 몇초단위로? 계속 api요청을 보내서 status값이 completed면 이후 처리 .. 막 이런식으로 예상을 해보았는데 실제 서비스를 돌릴 때도 이러한 과정으로 비동기 처리에 대한 polling 이루어지나요!?? (위 과정이 맞다면 boto3를 활용해서 mediaconvert reponse status api를 따로 만들어주려고 합니다!) 질문이 다소 많았는데 파고들수록 어렵고 복잡해 지네요 ㅠㅠ 제가 경험이 부족하다보니 프로세스에 대하여 잘못 이해하고 있거나 이해가 안되시는 부분은 말씀해주시면 바로 자세하게 설명드리겠습니다!! ㅎㅎ 그리고 제 예상으론ㅎㅎ 사무실이 곧 or 이미 오픈하신것으로 아는데 너무너무 축하드리고요!! 선생님의 명품 장고 세미나 정말너무너무너무 기대하고 있습니다!! 항상 진심으로 감사드립니다!! ㅎㅎ
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
포스팅의 좋아요 구현 강의에서 templatetag가 동작을 안하는 것 같습니다.
안녕하세요 선생님, 포스팅의 좋아요 구현 강의에서 templatetag의 내용을 듣고 선생님과 같이 코드를 따라 쳤는데, 제꺼에서는 좋아요 버튼을 눌렀을때 {{ post:is_like_user:user }}가 바뀌지 않습니다. 제가 코드의 오타가 있는건가 싶어서 선생님의 코드와 비교도 해보고, 여러 번 확인해봤는데, 저는 오타를 확인하지 못한 것 같습니다. 그래서 하나하나 동작을 따라가면서도 해봤는데 도저히 못찾겠어서 질문을 올리게 되었습니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요! 강사님 Paas에 작업후 admin 로그인시 500 에러에 관하여 질문드립니다.
안녕하세요 강사님 ! postgres 연결을 위한 방화벽 아이피 등록에 관련하여 질문이 있습니다. 앱 서비스에서 postgres db 접근할때 아웃바운드 IP는 접근 요청할 때마다 아웃바운드 IP 주소 목록에 있는 아이피 에서 랜덤으로 정해지는 것인지, 아니면 한번 정해지고 나면 그 아이피만을 이용하여 접근하는건지 궁금합니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
Route 질문
강사님 오늘도 안녕하세요! 실습중에 질문이 있어 글을 남깁니다. 우선 강사님께서 하시는 것을 따라해보기 위하여, 위에서와 같이 코드를 구성하였습니다. 그런데 링크를 클릭 했을때 주소는 변경이 되었지만 화면이 변경되지 않았습니다. 그래서 새로고침을 눌러보니 그때서야 화면이 변경이 되었는데 어떤 이유 때문이 이렇게 되는것인지를 잘 모르겠습니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
django 기본 제공해주는 권한 사용할려면
상기 그림과 같이 django 기본 제공해주는 권한 사용할려면 DjangoModelPermissions를 사용해야되나요? 생각보다 많이 어렵네요
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
settings.py의 INSTALLED_APPS 설정형식에 대해
강의에서 blog1앱을 INSTALLED_APPS에 설정할때아래의 강의의 코드를 가르쳐 주셨는데요.스크린샷처럼 "blog1.apps.Blog1Config"를 사용하지 않아도 되는건가요?<강의의 코드>INSTALLED_APPS = [ "blog1",]
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
왜 클라이언트 서버에서 토큰을 처리하는가용?
잘 모르겠지만 설계적으로는 보안에 관련된건 서버사이드쪽에서 처리하는게 좋다고 해서 저는 지금 강사님 강의 듣고 장고에서 set_cookie를 이용해서 def access_token_issue(id): access_payload = {"id": id, "exp": timezone.now() + timezone.timedelta(hours=access_token_time), "iat": timezone.now()} access_token = jwt.encode(payload=access_payload, key=JWT_SECRET_KEY, algorithm=ALGORITHM, headers=header) return access_token res_cookie.set_cookie(key='access_token', value=access_token_issue(id=user.id), httponly=True, samesite=None) 이렇게 하고 있어요. 강사님의 생각을 듣고 싶습니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
[2:32] jwtToken을 전달을 못 시키고, 401 에러가 뜨는데요..
코딩은 틀린게 없는데, 왜 못 받는지 모르겠네요... 우선, 리액트의 PostList.js는 이렇게 코딩하였고, 터미널에서는 이렇게 응답이 오구요... 장고의 views.py는 이렇게 되어 있습니다. jwtToken도 잘 받아오는 듯 한데요... 401 에러가 계속 뜨더라구요. 장고 터미널에서는 요런 메시지만 계속 뜹니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요 강사님 reduce 관련해서 질문이 있습니다.
안녕하세요 강사님. reduce 관련해서 질문 있습니다. 멤버 리스트에서 조건에 해당하는 데이터만 빼서 새로운 리스트를 생성하려 하는데 아래와 같은 에러가 발생하여 문의드립니다. 에러 관련해서 찾아보니까 필터 역할을 하는 함수 부분이 문제라고 하는데.. 도무지 어디가 잘못된건지 모르겠습니다.. ㅜㅜ let memberList = [ { name: 'mark', age: 20 }, { name: 'john', age: 18 }, { name: 'bob', age: 17 }, { name: 'alice', age: 24 }, { name: 'can', age: 26 }, ]; let adultlist = memberList.reduce((prev, cur) => { if (cur.age > 20) { prev.push(cur.name); } }, []); console.log(adultlist); 에러 사진입니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
해당영상 아무것도 안보이는데 원래그런건가요?
(사진)
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요! 선생님 serializer return에 대해서 질문드립니다!!
안녕하세요!!! serializer return 값에 대해서 질문드리려고합니다!! ㅎㅎ 저의 post 모델중 아래 필드가 하나있습니다!! video = models.FileField(upload_to='videos/%Y/%m/%d', null=True, blank=True) 이를 serializer하여 리턴하려 하는데 위에 보이시다시피 null 값이 허용이 됩니다! 하지만 프론트엔트 개발자가 null값일 경우에는 뭐라도 리턴값을 아무거나라도 해달라고 해서 (처리하기 번거롭다고해서 ;;) 아래와 같이 serializermethod를 따로 만들어서 -> videos = serializers.SerializerMethodField('get_video') 만일 video필드에 아무것도 넣지않은 null 요청일경우는 return {'detail': "비디오가 없습니다."} 요론식으로 리턴하려 하고 만일 video가 있으면? 즉 video를 넣어 post 요청을하면 video필드의 fullurl? path? 를 respone로 리턴하려고 하는데 (일반적인 serializer 응답처럼용~~) upload_to 의 경로가 걸려있다보니깐 fullpath를 딱 구해지지가 않네요... 즉 print(request.build_absolute_uri(post.video.url)) 이런식으로 출력하면 오늘년도날짜가 제외된 url이 나옵니다 -> http://127.0.0.1:8000/media/%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4! 위와 같은 식으로 나옵니다 실제 저장된 경로는 media뒤에 videos/년/월/일이 있어야 하는데 말이죵;; 사실 궁극적인 목적으로는 null값에 대한 아무값이나 리턴을 원하는데 위는 제가 생각한 방식이고 제 생각에는 더 쉽고 정석적인 방법 있을것 같으나 찾지 못해서 위와 같이 흙수저씩 코딩을 하고 있네요 ..ㅠㅠ 분명 null에 대한 좀더 효과적인 처리방법이나 아니면 한방에 url 받아오면 메소드가 있을것같은데 아직 모르는게 많아서 찾기가 어렵네요 ~ 더 명확하고 정석적인 방법으로 안내 해주시면 정말 감사하겠습니다!!!!!!!!!!!!!!!!!!!!!! 항상 정말 감사합니다 !!!!
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
강의 9분, post.created_at.replace 부분 관련입니다.
강의 9분대, 장고 쉘에서 post.created_at 값의 랜덤값 입력 하는 부분에서 month의 랜덤값 range를 1~13으로 했을때 Value Error가 발생합니다. range 값을 다시 3~13으로 조정했을때는 Value Error가 발생하지 않네요. 강의 흐름상 중요한 부분은 아닌것 같지만 의아해서 한번 질문 올려봅니다. from instagram.models import Post post_list = Post.objects.all() import random for post in post_list: year = random.choice(range(1990,2020)) month = random.choice(range(1,13)) post.created_at = post.created_at.replace(year=year, month=month) post.save() # => ValueError: day is out of range for month for post in post_list: year = random.choice(range(1990,2020)) month = random.choice(range(3,13)) post.created_at = post.created_at.replace(year=year, month=month) post.save() # => ValueError 발생 X
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
as_view 함수 부분 매개변수관련해서 질문있습니다!
post_detail = DetailView.as_view(Post) 여기 부분에서 Post를 as_view의 model로 넣어준다음에 내부에 있는 view함수를 호출후에 있는 매개변수들request, *arg, **kwargs 여기에 매개변수들은 Post내부에서 쪼개지는건가요?아니면 매개변수를 어떤식으로 받는건가요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
[4:41] 부분 V6 에서는 이렇게 바꾸는게 맞나요??
먼저 올라온 질문의 수정 방법대로 하니까. 'You rendered descendant <Routes> (or called `useRoutes()`) at "/accounts/" (under <Route path="">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.' 이런 에러가 뜨더라구요. 그래서 [https://stackoverflow.com/questions/70604020/please-change-the-parent-route-path-to-route-path] 의 내용을 참조해 보니까. LoginRequiredRoute.js 파일을 <Route {...kwargs} component={component} /> 이 부분을 V6 버전에 맞게 변경한뒤, <Routes > <Route path="/profile" element={<Profile />} /> </Routes> 이렇게 해주는 것도 맞나요?? 로그인 인증이 필요한 부분을 계속 연결해서 쓰는 방법으루요.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
RuntimeError: populate() isn't reentrant
어제까지는 실행 잘됐었는데 주피터 노트북으로 실행하니까 이런식으로 뜹니다 ㅠㅠ http://127.0.0.1:8000/admin/instagram/comment/add/ 이랑 저번에 배웠던 python manage.py shell_plus --print-sql --ipython 로 실행시에는 이런식으로 잘나오는데 무슨이유인지를 모르겠네요.혹시 더 올려야하는 정보들이 있을까요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
wsl2 포트포워딩 장고 로컬 서버 접속불가
안녕하세요 진석님! 저는 wsl2를 사용하여 강의를 듣고 있는 수강생입니다. 강의를 따라하면서 한번 외부접속을 시도해보고 싶어 구글링을 해보니 포트 포워딩이란걸 이용하더라고요! 그래서 이와 같이 파워쉘에서 명령어를 쳐서 포트 포워딩을 하였습니다. 이렇게 설정을 하고나서 사진의 ip와 포트로 runserver를 돌리니 잘 돌아가는데 그냥 runserver 혹은 127.0.0.1:8000, localhost:8000은 접속이 되지 않는 현상이 발생하였습니다. 그런데 또 포트번호만 바꾸면 잘 돌아가더라고요! 이러한 현상의 원인을 알 수 있을까요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요 강사님!
안녕하세요 강사님! 강의 잘 듣고있습니다. 다른 분과 동일한 에러가 발생하여 아래와 같이 코드를 작성하여 오류를 해결했습니다만, 코드의 로직이 맞는지와 다른 방법이 있는지 궁금합니다. (질문 수정해서 올렸습니다! 감사합니다!.) 오류 내용 해결 코드 def post_new(request): if request.method=="POST": form = PostForm(request.POST, request.FILES) if form.is_valid(): post = form.save(commit=False) post.author = request.user post.save() post.tag_set.add(*post.extract_tag_list()) messages.success(request, '포스팅을 저장했습니다.') redirect('/') else: form = PostForm() return render(request, 'instargram/post_form.html', { 'form' : form, })
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
profile edit을 cbv로 만드는 방법에 대해 문의드립니다.
안녕하세요 강사님 좋은 강의 열심히 듣고 있습니다. profile_edit 부분을 CBV로 구현해봤는데 이런 형식으로 만드는게 맞는지 궁금합니다.. 기능은 정상적으로 작동하는데 코드가 너무 복잡해보여서 제대로 만든건지 의구심이 듭니다.. @method_decorator(login_required, name='dispatch') class ProfileUpdateView(UpdateView): model = Profile template_name = 'accounts/profile_form.html' form_class = ProfileForm pk_url_kwarg = "id" success_url = settings.LOGIN_REDIRECT_URL profile_edit
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요 선생님, conda 가상환경과 관련해서 질문드립니다.
안녕하세요 선생님 강의를 듣다가 conda 가상환경을 생성하는데, 이전 교수님 강의에서는 크게 신경쓰지 않았었는데 conda 가상환경에 경로가 이제 보니 항상 bin에서 생성되고 있었습니다. 그래서 구글링을 통해서 이거저거 다 검색해서 해봤는데 아무리 conda를 삭제하고 conda config --set auto_activate_base false 이러한 명령어도 치고 했는데도 생성될때마다 bin 경로에서 생성되는데 해결책이 있을까요?ㅜㅜ