수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
장고와 nodejs에 대해 근본적인 의문이 생겼습니다
현재 저는 백엔드로 장고를, 프론트엔드로 리액트를 사용한다고 이해하고 수강중입니다.그런데 프론트엔드 환경을 만드실 때 노드js를 선생님께서 사용하시던데 노드js는 장고랑 별개의 백엔드쪽 프레임워크라고 제가 기억하고 있습니다.그럼 현재 백엔드는 장고와 노드js 둘다를 사용하고 있다는 의미인가요?
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
1:N 관계 ForignKey 생성자 to="self" 속성 예시
on_delete 속성에 아래 수업내용처럼to="self" : 자기 참조인 "self" 를 지정하는 경우(케이스)는 도대체 어떤 경우 인지 궁금합니다.class OneModelCls(models.Model): passclass NModelCls(models.Model): val1 = models.ForeignKey( to="self", on_delete=... )
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
다대다관계 모델링에서는 ManyToManyField 속성의 필드 심는 위치의 기준/관습
보통 다대다관계 모델링에서는 외래키를 두군데 다 심을 수 있는것인지? 그리고 보통 한군데에다가 심는다면 어디다가 심는지 기준이나 관습 궁금합니다.그리고 다대다관계 일 경우는 외래키라고 안부르는거죠?그냥 이럴땐 ManyToManyField 를 심는다 라고 하나요?
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
ORM으로 못하는것 질문
안녕하세요 ORM으로 할수 있는것 못하는것 관련하여간단한 흐름을 파악하고자 질문드립니다.아래 강의 슬라이드 캡쳐에서 ORM이 DB에 대해 알아서 처리해주지 않은 케이스는 어떤 것 들이 있는지 궁금합니다.
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
html 파일 자동완성 설정 / 템플릿 디자인(테마) 궁금합니다.
현재 파이참 프로(테마: monokai pro) 사용중인데선생님 화면처럼 html 파일 자동완성이 안나오고 있어서 템플릿쪽도 편하게 코딩 하고싶은데 설정을 어디서 할 수 있을까요?그리고 아래 템플릿 파일 테마가 뭔지 궁금합니다.가독성 이 좋아보여서 이걸로 바꾸고 싶어서 여쭤봅니다!
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
FBV 뷰 이름 중복과 path함수 name 매개변수 중복
안녕하세요 이전강의에서 blog1 을 만들어둔상태에서instagram 을 만들어서 간단 조회(q인자) 강의 듣고있는데 궁금중이 생겨 질문드립니다.위 그림과 같이 지금 뷰이름 과 path 함수의 name 파라미터가 중복되고 있습니다.이렇게 해도 정상 동작중 입니다.Q저렇게 뷰이름과 name값이 중복이 되도 맞는것인지 궁금장고는 도대체 어떤 매카니즘으로 URI~뷰 를 구분 하는 것 인지 궁금합니다.
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
영상 하단 pandas 이용한 DB접근 예시 중 질문
위 스크린샷에서 마지막 말이 잘 와닿지가 않습니다.ㅠㅠ그러니깐 장고qs객체를 pandas df객체로 변환하면 매번 SQL쿼리를 작성하지 않아도되는것인거고??? 장고를 통해 매번 SQL 쿼리를 작성하는 번거로움이 없어진다 는건가요??? 위 예시만 보면 어쨌든 qs객체(SQL요청 준비 코드) 정의 하였고 결국 qs.values 메서드 코드에서 SQL이 날라가지 않나요??? 새로운 사실을 알게되어 정확하게 이해해서 인사이트 얻고 넘어가고 싶어서 여쭤봅니다!
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
쿼리셋 중 빈쿼리셋 용도/사례가 궁금합니다
강의중 별건 아니지만 빈 쿼리셋은 도대체 어떨때 이용되는지 궁금합니다.(용도/사례)
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
ClsModel.objects 인터페이스 질문
qs1: QuerySet = Post.objects.order_by('id').all()qs2: QuerySet = Post.objects.order_by('id') -> 수업에서 사용한 방식에서 qs1 처럼도 해보니아래 코드블록처럼 두개의 결과가 똑같습니다.<class 'django.db.models.query.QuerySet'> SELECT "instagram_post"."id", "instagram_post"."message", "instagram_post"."photo", "instagram_post"."is_public", "instagram_post"."created_at", "instagram_post"."updated_at" FROM "instagram_post" ORDER BY "instagram_post"."id" ASC <QuerySet [<Post: 첫번째 메세지>, <Post: 두번째 메세지>, <Post: 세번째 메세지>]><class 'django.db.models.query.QuerySet'> SELECT "instagram_post"."id", "instagram_post"."message", "instagram_post"."photo", "instagram_post"."is_public", "instagram_post"."created_at", "instagram_post"."updated_at" FROM "instagram_post" ORDER BY "instagram_post"."id" ASC <QuerySet [<Post: 첫번째 메세지>, <Post: 두번째 메세지>, <Post: 세번째 메세지>]> Q1.둘다 내부적인 매카니즘이 똑같아서 아무거나 사용해도 되나요?Q2.똑같다하더라도 보통 어떤걸 많이 쓰나요 혹은 어떤걸 주로 쓰시고 그 이유는 무엇인가요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
장고로 엑셀파일 편집 홈페이지 만들기 질문입니다
안녕하세요 장고로 홈페이지를 만들고 있는데 궁금한 것이 있어서 질문남겨봅니다여러 엑셀파일을 업로드 해서 각 엑셀파일별로 편집 후 파일들을 하나로 합쳐서 다운로드 받게하려는 기능을 구현하려고 하고 있습니다각 파일별 업로드 후 편집하는 것 까진 구현했는데 그 파일들을 하나로 합쳐서 다운로드 하는 것이 구현이 안되는 상황입니다이럴때 함수로 그 파일들을 합쳐서 다운로드도 가능하게 할 수 있을까요?별도의 데이터베이스는 사용하지 않으려고 합니다장고쪽인지 또는 html쪽 문제인지 궁금합니다해당 코드의 주소입니다how to merge excel file with python django - Stack Overflow감사합니다
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
자주쓰는 필드 공통 옵션 설명 하실때 질문 있습니다
[5:00 경] * db_index (DB옵션): 인덱스 필드 여부 (디폴트: False = 인덱스컬럼지정X) * 장고 마이그레이션 하게되면 적용됨 * 근데 이미 DB설계해놨다면, 모델에 정의해놔도 사용되지 않음. (이건 마이그레이션 할때 사용하는거라서)* unique (DB옵션): 현재테이블 내에서 유일성 여부 (디폴트: False = 유일하지 않다) * 장고 마이그레이션 할때도 사용 * 장고단에서 유효성검사 할때도 사용위 컬럼 설명들에서 마이그레이션 할때 사용 이라는게 무슨 말인지 잘 모르겠습니다.예컨데 마이그레이션 되면 실제DB에 컬럼에 인덱스가 지정되는거 아닌가요? 마이그레이션 할때만 사용된다 거나 마이그레이션 할때 사용되지 않는다는게 무슨 말인지 모르겠습니다.
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
개발환경을 바꿨는데 alt + 엔터 (장고 API 임포트 자동완성) 기능 동작이 안되고 있는 이슈
프로젝트를 파이참으로 로드/열고 가상환경으로 다시 만들어 주었고 프로젝트와 가상환경을 연동해주었습니다. 여기서 궁금한게 2가지 있습니다.장고프로젝트마다 혹은 가상환경이 바뀔때 마다File Watchers 에 black 규칙을 추가해 주어야 하나요? 그리고 상황(프로젝트코드, 가상환경) 이 바뀌어서 그런지 이전 장고설계철학 강의에서 잘되던 장고 임포트 자동완성이 계속 안되고 있어서Languages&Frmaworks 설정도 확인해서 잘되어있음을 확인했고 (아래 이미지)File > Invalide Caches > Invalidate and Restart 해줬는데도 안되고 있습니다. (체크박스 옵션은 모두 체크 안 했습니다)음..혹시 이유와 해결책이 있을까요?
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
`장고설계철학 개발환경`으로 `파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트` 강의 듣기
장고설계철학 강의 듣고 바로 이어서 듣는중인데아래와 같이 두 강의의 구축한 개발환경이 다른상황 입니다. Q1.1. 혹시 아래에 적은 장고설계철학 개발환경으로 그대로 진행해도 괜찮은 버전인건지 궁금하고2. 팩키지관리명령어가 서로 달라도 패키지가 저장되는 경로는 동일해서 장고설계철학 개발환경으로 그대로 진행도 상관 없는지/있는지 궁금합니다.개발환경 - 파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트Python~=3.7.13 ( 아나콘다파이썬 사용)Django~=3.0.0 (3.0.14 설치됨)pip install 명령어로 패키지 설치/관리IDE(VSC) - 디폴트 터미널: 명령프롬프트개발환경 - 장고설계철학Python~=3.10.4 ( 공식홈 사용)Django~=4.0.10python -m install 명령어로 패키지 설치/관리IDE(Pycharm PRO) - 디폴트 터미널: 다운받아 설치한 최신윈도우파워쉘
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
템플릿 엔진 설명 중에서
# Q1`템플릿엔진` 설명하실때`"복잡한 문자열을 손쉽게 조합하기 위한, 문자열 렌더링 엔진"` 이라고 하셨는데,복잡한문자열 이라는게 예를 들면 어떤건가요?데이터가 동적으로최종적으로 장고에서 나가는 문자열을 만들때전체적인 구조(와꾸) 예) HTML, 이메일공통내용 등1번에서 데이터가 동적으로 바뀔 필요가 있을때동적을 바뀔 데이터를 `복잡한 문자열` 이라고 한건가요? # Q2장고설계철학 들어서 꼭 템플릿엔진이 템플릿파일(html)을 뷰단으로 렌더링/포워딩 할때만 쓰이는게 아니고 메일내용 만들때도 인지는 하고 있는데자꾸 복잡한문자열 저 말이 무슨 말인지 몰라서 여쭤봅니다. 그리고 장고템플릿엔진 API는설계철학에서 배운 render 함수와 render_to_string함수가 맞죠? 그리고 상대적으로 자주 쓰이는 다른 API는 어떤상황에서, 어떤API가 더 있을까요? (from django.shortcuts import render)(from django.template.loader import render_to_string)render 함수 내부적으로는render -----> render_to_string 참조 한다고 기억하고 있습니다. # Q3그리고 장고에서 최종적으로 나가는(HTTP응답/이메일내용) 데이터의 포맷 이"HTML, 이메일공통내용(텍스트) ..." 처럼 모두 문자열 인가요?아니면 장고에서 최종적으로 나가는 것 중에서 문자열이 아닌것들은 장고템플릿엔진 거치지 않고,문자열인 것들만 장고템플릿엔진 거치고 최종적으로 문자열 형태로 나가는건가요?
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
`장고 주요 기능들 (2)` 슬라이드 질문
안녕하세요 강의 듣기 시작한 사람입니다.[3:15~] `장고 주요 기능들 (2)` 슬라이드 설명하실 때* `Forms`: 입력폼 생성 → 입력값 유효성검사 → DB로의 저장 일련의 과정을 지원 * 장고를 개발하는 사람은 이를 잘 활용할 수 있어야 함.. ***이라고 하셨는데요Q) 프론트엔드가 웹페이지가 아니라 모바일(앱) 일 때도 일련의기능들의 이점때문에 `장고Form`을 활용 할 수 있는지? 궁금합니다
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
staic 파일을 버전관리에 포함하면 안되는 이유?
안녕하세요 교수님강의중에 static파일들은 절대 버전관리에 넣으면 안된다고 하셨는데 이유가 뭔가요?저도 .gitignore로 __pycache__같은 것은 제외 시켯는데 static이나 media나 뭐 나머지것들은 나 git으로 버전관리는 하고 있습니다,. 졸업작품중에 팀원들과 같이 공유할 목적으로요. 안되는 이유가 있나요.? 그리고 또 버전관리를 하면 안되는 파일들이 있을까요? ex) media파일같은거?그리고 수업외 질문입니다만. 장고 rest 프레임워크와 리액트 그리고 도커까지 다 하기에는 어려움이 있어서 우선 제일 기본적인 비 SPA? 웹페이지를 만들고 aws로 sql과 s3스토리지로 배포시도를 하고 있는데 비 SPA 방법으로만 웹페이지를 만들고 실제로 베포끼지 가능한지 여쭙고 싶습니다,(물론 웹의 완성도는? 떨어질 수 있겠지만요?) 항상 좋은 답변 감사합니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
login, signup content가 왼쪽 정렬이됩니다.
저는 instagram 부분 수업을 듣는 중에,,, 계속해서 화면이... 위처럼 되어있는데요.공개된 소스와 비교해보는데도 원인이 보이지않네요..!혹시 짐작가는 원인이 보이시면 답변주시기 바랍니다~! 감사합니다. - 여러분의 질문을 고대하고 있습니다. :-)- 질문 전에 검색을 먼저 해보세요. 사람 사는 게 다 비슷하다는 것을 알게 됩니다.- 예의는 거침없이 질문하기 위한 최고의 발명품입니다.- 100개의 설명이 스크린샷 한방 보다 못할 수 있습니다.- 코드를 첨부하면 전세계 누구나 이해할 수 있는 질문이 됩니다.- 하나의 질문에는 하나의 주제를 담아야 답변도 예리해집니다.- 시행착오를 알려주시면 곧 바로 원하는 문제에 집중할 수 있습니다.- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
외래키 post를 못가져오는 것 같습니다.
Comment의 message, created_at, updated_at은 정상적으로 잘 가져오는 듯 합니다만 post만 못 가져오는 것 같습니다.원인이 무엇인지 모르겠습니다.
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
celery을 이용해서 비동기처리를 수행하는데 질문입니다!
안녕하세요 진석님! 현재 강의를 들은 다음 웹페이지를 만들고 있는데 사진과 함께 포스팅을 하면 사진에 있는 글자를 인식하여 번역하고 따로 필드에 저장하는 것을 구현하고 있습니다.(google cloud visionAI, translationAPI 이용)현재 celery을 사용하는 방법은 따로 찾아봐서 잘 알게되엇는데(https://realpython.com/asynchronous-tasks-with-django-and-celery/)#views.py from .tasks import process_image_ocr_and_translation class PostViewSet(ModelViewSet): queryset = Post.objects.all() serializer_class = PostSerializer permission_classes = [AllowAny] def perform_create(self, serializer): post = serializer.save(author=self.request.user) tag_list = post.extract_tag_list() post.tag_set.add(*tag_list) process_image_ocr_and_translation.delay(post.id) # tasks.py from celery import shared_task from .models import Post from module.API import detect_text, translate_text @shared_task def process_image_ocr_and_translation(post_id): post = Post.objects.get(pk=post_id) post.photo.file.open() image_path = post.photo.path detected_text = detect_text(image_path) translated_text = translate_text(detected_text) post.ocr_text = translated_text post.save() #celery.py import os from celery import Celery # Set the default Django settings module for the 'celery' program. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "backend.settings.dev") app = Celery("backend") # Using a string here means the worker doesn't have to serialize # the configuration object to child processes. # - namespace='CELERY' means all celery-related configuration keys # should have a `CELERY_` prefix. app.config_from_object("django.conf:settings", namespace="CELERY") # Load task modules from all registered Django apps. app.autodiscover_tasks() @app.task(bind=True) def debug_task(self): print(f"Request: {self.request!r}") #common.py # Celery settings # 베포를 할때는 이부분이 변경이 되어야 한다? CELERY_BROKER_URL = "redis://localhost:6379" #: Only add pickle to this list if your broker is secured #: from unwanted access (see userguide/security.html) # CELERY_ACCEPT_CONTENT = ["application/json"] CELERY_RESULT_BACKEND = "redis://localhost:6379" # CELERY_TASK_SERIALIZER = "json"#module.API from google.cloud import vision import io from google.cloud import translate def detect_text(path): """Detects text in the file.""" client = vision.ImageAnnotatorClient() with io.open(path, "rb") as image_file: content = image_file.read() image = vision.Image(content=content) response = client.text_detection(image=image) if response.error.message: raise Exception( "{}\nFor more info on error messages, check: " "https://cloud.google.com/apis/design/errors".format(response.error.message) ) texts = response.text_annotations return texts[0].description # Initialize Translation client def translate_text(text, project_id="myproject-capston"): """Translating Text.""" client = translate.TranslationServiceClient() location = "global" parent = f"projects/{project_id}/locations/{location}" # Translate text from English to French # Detail on supported types can be found here: # https://cloud.google.com/translate/docs/supported-formats response = client.translate_text( request={ "parent": parent, "contents": [text], "mime_type": "text/plain", # mime types: text/plain, text/html "source_language_code": "en-US", "target_language_code": "ko", } ) # Display the translation for each input text provided for translation in response.translations: print("Translated text: {}".format(translation.translated_text)) 번역된 결과물 자체는 잘 나오는거 같으나(python -m celery -A backend worker실행화면에서 translate_text()함수에 결과값을 print하도록 설정했더니 "Translated text: ~~~~ " 이렇게 콘솔에 잘 나타납니다) post.ocr_text필드상에 null값이 입력이 됩니다...post.ocr_text필드속성에 null=True, blank=True 로 되어있고 비동기처리하기전에도 계속 null값이 들어가서(visionai와 translation이 시간이 좀 걸리다보니?) 비동기로 처리할려고 했는데도 여전히 null값이 들어가네요ㅜㅜ 어떻게 해결해야 할까요?? post.save()위치를 tasks.py안이나 views.py에서 비동기 작업은 조건문을 거는 방식 등등을 해보았으나 때에 따라서는 "ocr_text": "5f69b757-0f24-4cc4-947c-f8c624b48dde", 이런식으로 결과가 나오기도 하네요... 똑같은 사진인데도 매번 다른 16진수가 들어가던걸 확인했는데 번역된 결과값은 아닌거 같습니다...아 추가적으로 코드를 바꿀때마다 celery worker은 매번 재시작하였습니다
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
크롤링한 이미지데이터를 데이터베이스에 넣기 ??
안녕하세요 교수님 django를 활용한 웹페이지로 졸업작품을 하려는 대학생입니다.서론이 길어질 수 있는데, 최대한 짧게 말씀드리자면, 사용자가 원하는 키워드를 입력하면 자동적으로 구글에서 이미지 크롤링을 하여 원하는 개수만큼 다운받은 후 AI쪽 이미지 생성 모델을 통하여 제가 원하는 방향으로 나오게 하는 웹페이지입니다(정확히는 뭐 ai를 활용한 상담 컬러링북)이였는데 보여줄 방법이 웹과 앱중 고민하던 중 웹을 선택했고 그 중에 제가 공부한 django 를 활용할 계획입니다. 여기서 저의 질문(목표)은 처음 키워드와 검색할 이미지 개수를 폼에다 입력을 하면 키워드와 그 키워드로 크롤링을 하고 크롤링된 이미지(예를들어서 3개)를 데이터베이스에 저장을 하고 싶은 상황입니다, (우선 이미지 1장을 저장하는 것으로 목표를 설정했습니다,. 여러장은 한장이 가능해지면 어렵지는 않을 것이라고 생각하고 있습니다) 아래 처럼 모델을 설정해놨고 폼은 modelForm을 사용했습니다, 참고로 크롤링하는 코드쪽은 잘 작동하고 numpy, pillow등 원하는 이미지형태로도 바꿀 수 있고 다운까지 다 되는 코드입니다, 우선 제가 시도했던 방법들입니다. pillow_image는 제가 임의로 다운받은 pil형태의 이미지입니다. 1.처음 폼에 입력했을 때 cleand_data이고 저기에는 이미지는 없는상태입니다,)2. 그냥 임의로 (크롤링했다고 가정한)이미지를 출력해본 결과입니다,3, clean_data에 이미지필드(키)에 이미지를 직접넣어서 다시 cleand_data를 넣었는데 출력해보니 아래 그림처럼 <File:None>으로 나오는 상황입니다, 또 다른 방법은 아래 그림처럼 cleand_data에서 직접 입력을 받아와서 새로(?) 넣는 방법입니다이 방법이 뭔가 가능성이 있어 보였지만 애초에는 저는 폼에 입력한게 아닌따로 이미지를 얻어와서 저장하는 거라 requet.files.getlist라는 것을 쓸 수 가 없었습니다, 이 외에도 구글을 정말 뒤져서 몇날 며칠을 시도해 봤지만. 임의의 이미지를 따로 넣는게 정말 어려운 것 같습니다. 혹시 제가 놓치는 부분이 있을 수도 있구요애초에 이런 방법이 없는 것인가요? 아니면 방법이 있다면 어떤 식이 좋을까요?(제가 말주변이 없어서 좀 정신없었다면 죄송합니다)