묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
혹시 다음 강의도 계획되어 있으실까요?
오늘도 강의 잘 들었습니다. 개발을 하는 과정에서 주로 replit 을 사용했었는데, rgrok 를 사용하면 번거로움 없이 바로 포트포워딩을 통해 가상 배포? 를 진행할 수 있었군요. :) 혹시 다음 강의도 계획이 있으신지 여쭙고 싶습니다. 감사합니다.
-
미해결Django REST Framework 핵심사항
따단이 뭔가요??
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. import 관련해서 따단이 뭔지 궁금합니다 ㅠ
-
미해결<M.B.I.T> 테스트 페이지 만들기! with Django
js) 2/3 -> 3/3으로 안 넘어갑니다
1/3 -> 2/3 은 잘 되는데 2/3 -> 3/3은 안 넘어갑니다. const vheight를 .text가 아니라 영상대로 .test로 했을 땐 아예 넘어가지도 않았구요,(근데 이건 질문이랑 답, 버튼들 div class명이 text로 되어있어서 그런 것 같습니다.) 오타가 난 건가 확인을 해봐도 오타는 하나도 없는데 왜 안 되는지 모르겠습니다. 밑에는 자바스크립트 코드이구요. 혹시 css에서 수치를 잘 못 설정하면 이렇게 될 수도 있나요? 아니면 j query 때문일 수도 있나요.. ? 해결방법 아시는 분들 도움 부탁드립니다. (참고: alert창 나오는 부분은 일부러 코드를 적지 않았습니다. 커뮤니티 글 다 확인해보고 할 수 있는 수정은 다 해봤는데 안 됐습니다.)
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
RuntimeError: populate() isn't reentrant
어제까지는 실행 잘됐었는데 주피터 노트북으로 실행하니까 이런식으로 뜹니다 ㅠㅠ http://127.0.0.1:8000/admin/instagram/comment/add/ 이랑 저번에 배웠던 python manage.py shell_plus --print-sql --ipython 로 실행시에는 이런식으로 잘나오는데 무슨이유인지를 모르겠네요.혹시 더 올려야하는 정보들이 있을까요?
-
미해결
py manage.py runserver 오류
cmd에서 파이썬 관련 명령어 입력시 python이라는 문구만 출력되고 실행이 되지않습니다. 왜이러는건가요??
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
메일발송이 되지 않습니다 ㅠㅠ // form.save()에 대하여 질문입니다.
안녕하세요? 1.이전에는 됐는데, 왜 다시할때는 안되는건지 모르겠네요 ㅠㅠ 11분경에 보내시는 메일이 발송이 되지 않습니다. 다음과 같이 1이 출력되면 메일이 발송성공한 것으로 알고 있는데, 기다려 보아도 메일이 오지를 않네요 강의 후반부에 회원가입과 동시에 메일을 보내는 부분도 메일이 발송되지가 않습니다 ㅠㅠ 2. 14분경에 views.py에서 signup함수 내부에 form.save()를 signed_user = form.save()로 바꿔주시는데, form.save()라는 함수가 값들을 실질적으로 db에 저장하는 것으로 알고 잇습니다. 그러면 signed_user = form.save()로 받아주는 부분은 해당 데이터를 db에 저장하는 동시에 저장된 그 유저 인스턴스(데이터 한행)를 변수에 담는 것인가요? 좋은 강의 감사합니다
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
19강 3:34초처럼 나오질 않네요 디버그창에
run-edit configurations 왼쪽 상단+ 눌러서 python 체크- 스크립트 패스 프래그매틱 -venv-scripts 파라미터 runserver 한다음 매니지파이 우클릭 디버깅(무당벌레) 누르면 원래 python manage.py runserver 한것처럼 127:0:0:1:8000 이런거 터미널 창에 안뜨는데. 사이트는 들어가지긴 해요 여기서 빈칸에 test 입력한다음 post 누르면 3:34초 처럼 디버그 창에 아무것도 안뜨네요 ㅠㅠ 그리고 디버깅 실행 눌르면 무담벌레 점 잠깐 찍혔다가 사라지네요
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
logout시 오류페이지가 뜹니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. logout버튼을 누르면 404오류가 뜨면서 디버그를 false로 변경하라는 오류메시지가 뜨길래 settings.py에서 아래처럼 설정을 하였습니다. DEBUG = False ALLOWED_HOSTS = ['localhost','127.0.0.1'] 그리고 다시 로그아웃을 하니 지금은 아래와 같은 오류가 뜨고요 ㅠ 어떻게 해야될까요?
-
해결됨우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
UnboundLocal Error: local variable referenced before assignmnet
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. c = 30 # global variable(전역 변수) def func_v3(a): print(a) print(c) c = 40 # local variable(지역 변수) # 위 코드를 실행했을 때, UnboundLocal Error가 발생하지만, c = 30 def func_v3(a): c = 40 # local variable(지역 변수) print(a) print(c) func_v3(10) 10 40 # 말씀하신 대로 이렇게 작성하면 Error가 발생하지 않고, 10과 40으로 출력된다는 건 이해했습니다. # 전역 변수보다 지역 변수를 우선시한다는 것 그런데 c = 40 을 print(c) 아래에 두었을 때와 위에 두었을 때, 이 위치가 파이썬 인터프리터가 바라보는 인식의 차이를 모르겠습니다. 이 내용을 구글링도 하고, [stackoverflow](https://stackoverflow.com/questions/10851906/python-3-unboundlocalerror-local-variable-referenced-before-assignment) 에도 들어가서 확인했지만, 이에 대한 확실한 설명은 없었습니다. 다들 이 문제에 대한 해결책으로 global 을 작성하면 되지만, 이는 나중에 디버깅을 힘들게 만들기 때문에 추천하지 않는다는 내용만 확인했습니다. 이에 대해 알려주시면 감사하겠습니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요 선생님!! 장고 엑셀다운로드 로딩에 대하여 질문드립니다
안녕하세요!! 선생님!!! ㅎㅎㅎ 장고 다운로드 로딩에 대하여 질문드리려 합니다!! (웹은 장고로만 개발하였습니다!!) 제가 구현한 내용은 단순히 모델을 불러와서 가공후 csv 파일로 response하는 view를 만들었습니다! 그래서 다운로드 버튼을 클릭하면 모델에 있는 데이터가 다운이 되는 그러한 로직입니다! 위와 같이 그냥 요청이 오면 모델을 불러와서 응답해주는?? 단순한 view입니다!ㅎ 다만 join이 많이 걸려있고 데이터가 좀 많다보니 시간이 상당히 많이 소요가 되는데요.. 문제가 다운로드버튼(위에 설명한 view와 연결한버튼)을 클릭 한 후 서버가 이를 처리를 하는데 서버자체가 이 작업을 끝날때 까지 먹통이되는? (제 3자가 웹에 접속했을때도 이 처리 때문에 위 처리가 끝날때 까지 아무런 요청을 할 수 없습니다) 문제가 발생합니다.. 제가 사용한 서버는 AWS EC2를 활용해 도커 compose파일로 nginx, gunicorn, mariadb를 연결해서 하나의 서비스로 만들어 배포하였습니다. 또한 로드밸런서 세팅도 되있습니다. 로컬에서 개발서버로 테스트 할때는 그냥 다운로드 버튼을 클릭을 해도 바로 종료가 가능하고 다른 브라우저로 접근해도 독립적으로 작동했는데 배포를 하니깐 위와 같은 현상이 발생하네요! 서버 성능의 문제인가 해서 인스턴스 유형도 좀더 올려보고 했지만 역시 위문제는 해결되지 않았습니다..ㅠ 그래서 뭔가 비동기적으로 처리하기위해서 celery를 이용해 볼까 했는데 잘못된 접근인건지 잘모르겠지만 피라미터를 어떻게 설정해야할지 몰라서 구현에 실패를 했습니다 ㅠ 서버의 문제라면 어떻게 접근을 해야하는지,,,,, 아니면 장고로 위와 같은 문제가 해결이 가능하다면 어떻게 코드를 작성하면 좋을지 부족한게 많다보니 며칠째 해결이 안되네요 ㅠㅠ 부족한 설명이지만 잘 부탁드리겠습니다!! 너무 감사합니다 선생님!!
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
requirment.txt 관련 질문입니다.
안녕하세요 인프런 강의를 듣기전 docker 공부를 하고있는 사람입니다. pip freeze > requirments.txt 하고 난 뒤 버전정보가 숫자가아닌 경로로 나오는 경우는 어찌해야 할지 모르겠네요 aiohttp @ file:///C:/ci/aiohttp_1602530153430/work
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
내용 학습 관련 질문
안녕하세요. 학습을 최근에 시작한 초급자입니다. 현재 장고 프로젝트 생성하여 생성된 폴더와 파일들이 무슨 기능을 하는 지에 대해 듣고 있습니다. 첫 번째 질문입니다. 제가 학습해나가는 것을 TIL로 깃헙에 올리고 싶은데, 코드는 똑같이 안쓰고 참고하여 다른 예시로 작성하면 된다면 이런 개념적인 부분들은 출처와 함께 그대로 써도 되는지 아니면 표현을 달리 해서 올리면 되는 지 알고 싶습니다. 이에 대해 먼저 묻고 작성하는 것이 예의인 것 같아 여쭤봅니다. 앞으로의 내용이 참 기대됩니다. 두 번째 질문입니다. 강의 시작 전에 SQL에 대해서 알고 있어야 하나요???
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
ValidationError 일으킬 시 error code 제공은 필수적인가요?
https://docs.djangoproject.com/en/4.0/ref/forms/validation/ 공식문서에서는 error code 를 제공하는 것을 권장하고 있습니다. 이는 항상 지켜야 하는 걸까요? 선택의 기준이 있는지 궁금합니다. 강의 내에서는 안쓰는 것 같기도 하고요 감사합니다!
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
django url 매핑 관련 질문입니다.
안녕하세요. 장고 초보자 입니다. url 호출시 404 에러가 출력되어 질문하고 싶습니다. 쿠버네티스 환경에서 url ingress에 default path를 등록하였고 django에서 서브디렉토리를 urls.py에 등록하였는데 404에러가 뜨고 있습니다. 이런 경우 어떤 문제가 의심되는지 아시는 분 계시다면 댓글 부탁드립니다..ㅠ k8 ingress app/urls.py cu_auth/urls.py url 호출시
-
해결됨우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
내용 질문
안녕하세요! level 1을 마치고 level 2를 들을려고 합니다. level 2와 동시에 Django로 웹 개발공부를 해볼려고 합니다. 인프런에서 Django 로 코스를 선택했습니다. 그런데, 그 강좌에서 선수 파이썬 기본지식으로 `함수/클래스/상속/일급함수/장식자` 내용을 알아야 들을 수 있다고 하네요. 함수와 클래스는 Level 1에서 들었다고 하면 일급함수, 장식자는 TOC를 보면 Level2 에서 충분히 확인할 수 있는데, 상속은 어디서 들을 수 있는 건가요??? Level 3으로 가야 하나요????
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
django 관련 질문
안녕하세요! 이제 강의를 들을려고 합니다. 먼저 저의 상황은 이와 같습니다. Django를 통해 전체적인 웹개발에 대한 흐름을 공부해볼려고 시작합니다. 그 후, backend web 개발자나 Devops나 Data 분야로 가는 것을 결정해볼라고 합니다. Django에 대해 그냥 유튜브 검색을 해보니 [Django를 추천하지 않는 이유](https://www.youtube.com/watch?v=ObelJbEt8-Y) 를 보게 되었습니다. 이 영상에서 봤을 때, 웹 개발을 공부하고 싶으면 Django를 하지 말고 Spring을 해야 한다는 의견이었습니다. Django는 너무 dB에 집중되어 있다고 했습니다. 3년 전 영상이라 지금은 어떨지 모르겠습니다. java spring 시장이 한국에서 매우 거대하여 python Django가 상대적으로 적어도, 절대적으로는 적은 수는 아니라고 생각합니다. (그리고 python은 너무너무 가용성이 좋은 언어라 개인적으로 좋아하는 언어입니다 : ) ) 이에 대해 어떻게 생각하시는 지 궁금합니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
passwordChangeForm을 FBV로 하면 안되나요?
안녕하세요 선생님 휴일인데 죄송합니다. 저는 강의를 듣기전에 미리 한번 먼저 해보고 하는 방식으로 공부중입니다. 다만 로그인이나 프로필 수정쪽은 FBV를 사용해서 직접 구현을 하셔서 이번 비밀번호 변경도 FBV로 구현을 하겠구나 생각하고 AUTH앱의 PasswordChangeForm과 FBV로 구현해보고 강의를 수강하였습니다. 선생님께서는 CBV로 구현을 하셔서 질문드립니다. CBV와 FBV를 다양하게 쓰는 예를 보여주시려고 사용하신건가요? 아니면 CBV는 AUTH앱의 passwordchangeVIew를 가져오면 기능들이 갖춰져 있기 때문에 편리하고 더 효율적이기 때문에 사용하신건가요? 아니면 그냥 아래 처럼 맞는지는 모르겠지만 함수로 구현해도 상관은 없는건가요? 처음 질문이라 좀 요점이 없는것 같은데 죄송합니다. @login_required def password_change(request): if request.method == 'POST': form = ChangeForm(request.POST) if form.is_valid(): form.save() messages.success(request,"비밀번호 변경 성공") else: form = ChangeForm() return render(request,"accounts/password_change_form.html",{'form':form,})
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
회원가입 시 sendgrid로 이메일 보내기 구현 중 질문드립니다.
강사님 안녕하세요~! 실습을 진행하면서 회원 가입시 sendgrid를 통해 메일을 보내는 부분 구현에서 에러 해결이 안되어 질문을 드립니다. 강의 영상을 참고해서, sendgrid 회원가입과, api key 발급을 마치고 다음과 같이 (window 환경에서 set 명령어를 통해) 환경 변수 설정이 된 것도 확인 했는데 회원가입 버튼을 누르면 다음과 같은 에러가 발생합니다. (django admin을 통해 봤을 때 회원가입은 이뤄지는 것을 보았습니다.) 혹시 에러의 원인이 무엇일지 짐작가시는 것이 있으실까 싶어서 질문을 드렸습니다. 그럼 감사합니다. !!
-
미해결
장고 프로젝트 중인데 페이지 이동이 되지를 않습니다.
파이썬과 장고를 이제 막 공부를 시작해서 프로젝트를 만들고 있는데, 아직 장고 기초지식이 부족한지 해결을 하기 어렵습니다.. 네이버 블로그 검색 api와 유튜브 api를 사용중이며, 구글처럼 메인페이지에서 검색을 하면, 그에 맞는네이버 블로그 글들과 유튜브 영상들이 나오게 하려고 합니다. 발생된 문제는, 검색 후 all.html 이라는 검색정보를 보여주는 페이지로 이동해야 되는데 왜인지 주소만 변경되고 이동이 되지않고 메인페이지로 유지됩니다. (http://127.0.0.1:8000/ -> http://127.0.0.1:8000/all ) <메인페이지> <코드> # urls.py from django.conf import settings from django.conf.urls import url, include from django.conf.urls.static import static from django.urls import path from . import views urlpatterns = [ url(r'^', views.index, name='index'), path('all/', views.all, name="all"), url(r'info/$', views.get_request_url, name="info"), url(r'video/$', views.youtube, name="video"), ] # views.py import json, os, sys, urllib.request, requests from django.shortcuts import render from django.conf import settings from django.views.generic import FormView from requests import request def index(request): return render(request, 'common/main.html') def make_naver_search_api_url(search_text, start_num, disp_num): base_url = 'https://openapi.naver.com/v1/search/blog.json' param_query = "?query=" + urllib.parse.quote(search_text) param_start = "&start=" + str(start_num) param_disp = "&display=" + str(disp_num) return base_url + param_query + param_start + param_disp def all(request): # naver search value search_text = request.POST.get('searchValue',"") API_URL = make_naver_search_api_url(search_text,1,30) config_secret_debug = json.loads(open(settings.SECRET_DEBUG_FILE).read()) client_id = config_secret_debug['NAVER']['CLIENT_ID'] client_secret = config_secret_debug['NAVER']['CLIENT_SECRET'] request = urllib.request.Request(API_URL) request.add_header("X-Naver-Client-Id", client_id) request.add_header("X-Naver-Client-Secret", client_secret) response = urllib.request.urlopen(request) rescode = response.getcode() print(rescode) if (rescode == 200): # youtube search value url = 'https://www.googleapis.com/youtube/v3/search' params = { 'key': '유튜브api', 'part': 'snippet', 'type': 'video', 'maxResults': '30', 'q': search_text, } response = requests.get(url, params) response_dict = response.json() response_body = response.read() naver_result = json.loads(response_body.decode('utf-8')) naver_items = naver_result.get('items') context = { 'items': naver_items, 'youtube_items': response_dict['items'] } return render(request, 'searchView/all.html', {'info_items': context[0], 'video_items': context[1]}) else: return None print("---error---") # main.html (메인페이지) <body> <div class="container"> <div class="mainBox"> <div class="logoBox"> <img src="{% static 'img/logo_transparent.png' %}" class="mainLogo"> </div> <form class="d-flex" method="POST" action="{% url 'all' %}"> {% csrf_token %} <div class="searchBox" style="display: flex"> <input class="form-control me-sm-2" type="text" placeholder="검색어를 입력" name="searchValue" value="{{ searchValue }}"> <button class="btn btn-info my-2 my-sm-0" type="submit">Search</button> </div> </form> </div> </div> </body> # all.html (페이지 이동 테스트 성공 후 작업예정) - 이 페이지는 무시하셔도 됩니다 {% extends 'common/base.html' %} {% block content %} <div class="contentFlexBox"> <div class="infoBox"> <div class="infoDetail"> {% for info in info_items %} <a href="{{ info.link }}" class="list-group-item list-group-item-action flex-column align-items-start"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">{{ info.title }}</h5> <small class="text-muted">{{ info.bloggername }}</small> </div> <p class="mb-1">{{ info.description }}</p> <small class="text-muted">{{ info.postdate | date:"Y-m-d"}}</small> </a> {% endfor %} </div> <div class="pageNavi"> <ul class="pagination"> <li class="page-item disabled"> <a class="page-link" href="#">«</a> </li> <li class="page-item active"> <a class="page-link" href="#">1</a> </li> <li class="page-item"> <a class="page-link" href="#">2</a> </li> <li class="page-item"> <a class="page-link" href="#">3</a> </li> <li class="page-item"> <a class="page-link" href="#">4</a> </li> <li class="page-item"> <a class="page-link" href="#">5</a> </li> <li class="page-item"> <a class="page-link" href="#">»</a> </li> </ul> </div> </div> <div class="videoBox"> <a href="#" style="text-decoration: none;"> <div class="card mb-3"> <div class="card-body videoText"> <h5 class="card-title">영상제목</h5> <h6 class="card-subtitle text-muted">채널주인</h6> </div> <svg xmlns="http://www.w3.org/2000/svg" class="d-block user-select-none" width="100%" height="200" aria-label="Placeholder: video cap" focusable="false" role="img" preserveAspectRatio="xMidYMid slice" viewBox="0 0 318 180" style="font-size:1.125rem;text-anchor:middle"> <rect width="100%" height="100%" fill="#868e96"></rect> <text x="50%" y="50%" fill="#dee2e6" dy=".3em">video cap</text> </svg> <div class="card-body videoText"> <p class="card-text">동영상 소개글</p> </div> <div class="card-footer text-muted"> 게시일 </div> </div> </a> <div class="pageNavi"> <ul class="pagination"> <li class="page-item disabled"> <a class="page-link" href="#">«</a> </li> <li class="page-item active"> <a class="page-link" href="#">1</a> </li> <li class="page-item"> <a class="page-link" href="#">2</a> </li> <li class="page-item"> <a class="page-link" href="#">3</a> </li> <li class="page-item"> <a class="page-link" href="#">4</a> </li> <li class="page-item"> <a class="page-link" href="#">5</a> </li> <li class="page-item"> <a class="page-link" href="#">»</a> </li> </ul> </div> </div> </div> {% endblock %} 책도 보고 인터넷을 검색해도 도통 해결방법을 모르겠습니다.. 혹시 어디부분이 문제인지 말씀해주시면 확인 후 수정하겠습니다..!
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
로그인 오류
강사님 잘 보고 있습니다 :) 제가 로그인을 구현하고나서 로그인 확인 버튼을 누르니 하단상태의 오류가 나타났습니다. request url 을 보니 accounts/profile 로 되어있던데, profile 파일이 저에겐 없습니다... 이때문에 생기는 오류일까요?