38,500원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
함수질문
안녕하세요. 선생님 강의를 듣다가 궁금한 점이 생겨서 질문합니다. def __str__(self): return f'{self.number}. {self.content}' 에서 f' '는 왜 쓰이는 건가요?? 다른 모델 클래스에서는 그냥 self.name 이런 식으로 쓰이던데 차이점이 뭔지 궁금합니다.
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
아래 글 이어서 질문
001_initial.py 파일이 생성되지 않았는데 괜찮은건가요??- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
모델작성하기에서 makemigrations 명령어
명령어 실행 결과 사진과 같이 뜹니다. 뭐가 잘못 됐을까요??
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
태그 정리 중 마지막 갑자기 슬래시가 생긴 이유가 뭔가요?
강의 중 "인풋 태그를 정리한다"고 하면서 길게 늘어선 코드를 줄 바꿈으로 정리하는데, 마지막에 원래 '>'만 있었는데 정리된 후의 코드는 '/>'가 들어가 있습니다. 이유가 뭔가요? <input type="radio" name="question-{{ question.number }}" id="choice-{{ choice.pk }}" value="{{ choice.developer.pk }}" />
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
admin 부분에서 오류가 뜹니다
choice 부분에서 자꾸 오퍼레이션에러라고 떠요.... 코드도 다 맞게 적은거 같은데 뭐가 문젤까요ㅠㅜ 다른 부분은 다 정상적으로 잘 뜹니다. models.py 코드도 보여드려요 from django.db import models class Developer(models.Model): name = models.CharField(max_length=50) count = models.IntegerField(default=0) def __str__(self): return self.name class Question(models.Model): number = models.IntegerField(unique=True) content = models.CharField(max_length=100) def __str__(self): return f'{self.number}. {self.content}' class Choice(models.Model): content = models.CharField(max_length=100) question = models.ForeignKey(to='main.Question', on_delete=models.CASCADE) developer = models.ForeignKey(to='main.Developer', on_delete=models.CASCADE, null=True) def __str__(self): return self.content
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
css 에서 백그라운드컬러, 컬러
안녕하세요. 강의를 들으면서 따라하던 중 막혀가지고 질문드립니다. css로 백그라운드 컬러와 컬러를 설정하기가 안됩니다. 폰트는 바뀌는데 색은 안바뀝니다. 사진 첨부가 안되길래 드라이브에 올려놓고 공유드립니다. https://drive.google.com/file/d/1PJ0Dxy4sU9c2GATH5-rPJ7ObPdHzZBFD/view?usp=sharing
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
강의내용을 바탕으로 새로운 것을 만들려고 하고 있습니다.
강의와는 약간 다르게 실제 MBTI 검사페이지를 만들어 보려고 하는데, 모델에서 강의는 개발자 유형의 베스트를 뽑아서 결과페이지에 도출했다면, MBTI 검사는 I/E , S/N 등 나눠져있는데 이걸 어떻게 도출해야 할 지 의문입니다. 모델은 E,I,S,N 등 총 8개를 만들었습니다.
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
장고 어드민 페이지와 파이썬 Shell 관련 질문
CRUD를 파이썬 shell에서 하는 것보다 장고 어드민 페이지에서 하는 것이 직관적인데요, 실제 장고로 서비스를 운영할 때는 어드민 페이지에서만 CURD를 해도 무방하나요? 아니면 어드민 페이지에서 하지 않고 shell을 활용할 때 이점이 있는지요?
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
CSS적용
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. INDEX에서는 CSS가 적용이 됬었는데 FORM에서는 CSS가 적용이 안되요ㅠㅠ 다 똑같이 했는데 왜 적용이 계속 안될까요? 인터넷에서 쿠키 삭제하면 된다그래서 쿠키삭제도 했는데 계속 적용이 안됩니다....
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
@keyframes rotate 질문드립니다
rotate 짤 때 맨앞 개발자 맨끝 개발자 이렇게 5개 항목 로테이트 만드셨잖아요~ 저는 맨앞 A 맨끝 A 포함해서 10개 항목 로테이트 만들고 싶은데 transform 앞에 퍼센트와 translateY의 퍼센트값을 어떻게 계산해야 되는지 궁금합니다!
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
결과페이지로 넘어갈때 에러가 나네요. ㅠㅠ
다시 해보는데, 이전과 다르게 /form에서 /result로 넘어갈때 에러가 나네요. 물론 /result 로 바로 접속해도 에러가 나구요.
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
다음 버튼 누르면 MultiValueDictKeyError at /result/ 페이지가 노출됩니다.
안녕하세요 강사님, 템플릿 적용하기 강의를 따라하다가 중간에 막히는 부분이 있어서 질문 드립니다. question-1 의 답을 선택하고 다음 버튼을 클릭했는데 하기와 같은 이미지가 노출되는 것을 확인했습니다. 이 부분은 어떤 수강생 분이 올리셔서, 답변 달아주신 것을 확인하며 admin 페이지에서 제가 잘못 넣은 부분이 있는지를 확인하며, 혹시 몰라서 다시 입력한 것들을 삭제하고 재입력했는데도 동일하게 발생을 합니다. 아래는 admin 페이지에서 입력한 질문 및 선택지들이며, 강사님과 동일한 질문지를 하지 않고 인터넷에 돌아다니는 것을 기반으로 작성했습니다. (10개 question에 각각 2개의 선택지로 총 20개 choices) result view에서 문항수와 디저트 유형 로그를 출력을 했구요. 혹시 몰라서 강사님이 확인해보라는 곳도 스크린샷 첨부드립니다. 혹시 몰라서 코드를 첨부합니다. 강사님과 다른 부분이 있다면 강사님께서는 developer로 쓰신 것을 dessert 로 썼습니다. form.html {% load static %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE-edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0" > <title>디저트 찾기</title> <link rel = "stylesheet" type = "text/css" href="{% static 'css/reset.css' %}"> <link rel = "stylesheet" type = "text/css" href="{% static 'css/form.css' %}"> <script src="http://code.jquery.com/jquery-latest.min.js"></script> </head> <body> <section id="survey"> <div class="wrapper"> <form id="form" action="/result/" method="post"> {% csrf_token %} {% for question in questions %} <div class="test"> <div class="question_container"> <h3 class="number">{{ question.number }}/{{ questions.count }}</h3> <h3 class="question">{{ question.content }}</h3> </div> <div class="answer"> {% for choice in question.choice_set.all %} <div> <input type="radio" name="question-{{ question.number }}" id="choice-{{ choice.pk }}" value="{{ choice.dessert.pk }}"/> <label for="choice-{{ choice.pk }}">{{ forloop.counter }}. {{ choice.content }}</label> </div> {% endfor %} </div> {% if not forloop.first %} <div class="btn_wrap btn_sort"> {% else %} <div class="btn_wrap"> {% endif %} {% if not forloop.first %} <button class="prev_btn">이전</button> {% endif %} {% if not forloop.last %} <button class="next_btn">다음</button> {% else %} <input type="submit" value="제출" class="submit_btn"/> {% endif %} </div> </div> {% endfor %} </form> </div> </section> <script type="text/javascript" src="{% static 'js/form.js' %}"></script> </body> </html> 답변 기다리겠습니다.
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
제이쿼리를 사용하지 않을 수 있나요?
제이쿼리를 지양하는 추세라고 하던데 제이쿼리를 사용하지 않고 동일한 기능을 구현할 수 있나요?
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
JSONField 추가 후 result 페이지에 값이 반영되지 않는 문제
안녕하세요. 막판에 질문이 많아지네요ㅠㅠ models.py의 Developer 모델에 JSONField 추가 후 result 페이지에서 값이 보이지 않는 문제가 발생합니다.(아래 화면) 모델 변경 후 makemigrations, migrate한 뒤에 data.json 변경하고 shell_plus 명령어로 backend.data 등의 데이터가 제대로 들어간 것은 확인했습니다. 그럼 데이터를 불러오는 부분이 문제가 아니라 불러온 데이터값을 화면에 찍는 과정에서 문제가 발생한 것 같은데 어떤 부분이 문제인지 모르겠습니다. models.py 부분은 아래와 같습니다. result.html {% load static %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta property="og:title" content="MBIT" /> <meta property="og:image" content="" /> <meta property="og:url" content="" /> <meta property="og:description" content="나의 개발 유형은?" /> <title>MBTI 말고 MBIT</title> <link rel="stylesheet" type="text/css" href="{% static 'css/reset.css' %}"> <link rel="stylesheet" type="text/css" href="{% static 'css/result.css' %}"> <script src="https://code.jquery.com/jquery-3.6.0.js"></script> <script type="text/javascript" src="{% static 'js/result.js' %}"></script> <script src="https://developers.kakao.com/sdk/js/kakao.js"></script> </head> <body> <section id="main_contents"> <div class="wrapper"> <div class="result"> <div class="titles"> <h3>{{developer.data.title}}</h3> <h1>{{developer.name}}</h1> </div> <div class="result_img"> <img src="{% static 'image/' %}{{ developer.pk}}.png" alt="frontend" /> </div> </div> <div class="result_explains"> <div class="explain"> <h3 class="title">나와 맞는 개발 유형은 {{developer.name}}!</h3> <ul> {% for feature in developer.data.features %} <li> {{ feature }} </li> {% endfor %} </ul> </div> <div class="explain"> <h3 class="title">{{ developer.name }}(이)가 뭐지?</h3> <ul> {% for description in developer.data.descriptions %} <li> {{ description }} </li> {% endfor %} </ul> </div> <div class="explain"> <h3 class="title">그래서 어떤 언어부터 공부해야 할까?</h3> <ul class="language_lists"> {% for language in developer.data.languages.list %} <li> <div class="img_wrap"> <img src="{% static '' %}{{ language.img }}" alt="{{ language.name }}"> </div> <h3>{{ language.name }}</h3> </li> {% endfor %} </ul> {% if data.languages.comments %} <ul> {% for comment in developer.data.languages.comments %} <li> {{ comment }} </li> {% endfor %} </ul> {% endif %} </div> </div> <div class="lectures"> <h3 class="title">강의 추천</h3> <p>{{ developer.name }} 공부를 시작하기 좋은 강의를 추천해 드릴게요!</p> <ul> {% for lecture in data.lectures %} <li> <a href="{{ lecture.url }}" target="_blank"> <img src="{% static '' %}{{ lecture.img }}" alt="{{ developer.lecture.name }}"> <h3>{{ lecture.name }}</h3> <button type="button">강의 보러가기</button> </a> </li> {% endfor %} </ul> </div> <div class="share"> <div class="url"> <button class="copy_btn" type="button">URL 복사하기</button> </div> <div class="facebook"> <button class="facebook_share" type="button">Facebook 공유하기</button> </div> <div class="kakao"> <button class="kakao_share" type="button">카카오톡 공유하기</button> </div> </div> <div class="buttons"> <ul> <li> <h3>...이건 내가 아니야... 잘못된 게 분명해!</h3> <a href="{% url 'main:index' %}"> <button type="button">테스트 다시 하기</button> </a> </li> <li> <h3>다른 사람들은 어떤 유형일까?</h3> <a href="#"> <button type="button">다른 결과 알아보기</button> </a> </li> <li> <h3>나는 얼마나 훈련해야 전문가가 될까?</h3> <a href="http://paullab.co.kr/10000hours.html"> <button type="button">1만 시간의 법칙</button> </a> </li> </ul> </div> </div> </section> </body> </html> 답변 기다리겠습니다ㅠㅠㅠㅠ
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
uwsgi 소켓 설정 후 nginx 실행하면 502 bad gateway 에러 발생
안녕하세요. 어제 올린 2번 문제에서 다음으로 넘어가니 않는 이슈는 해결했습니다. 이후 배포를 진행하는 과정에서 uwsgi 소켓을 설치하고 nginx를 실행하면 502 Bad Gateway 에러가 발생하고 페이지가 뜨지 않는 심각한 에러가 발생합니다. 터미널에서는 아래와 같이 제대로 돌아가는데 어느 부분이 문제인지 도저히 모르겠습니다.... 에러 메세지라도 뜨면 그걸 확인해볼텐데 그런 것도 없어서 어디서 문제가 발생했는지 찾지를 못하겠어요. notion에 있는 내용 토대로 하나씩 다시 해봤는데 틀린 부분을 찾지 못했습니다. 관련 소스코드 첨부합니다. MBIT.conf server { listen 80; server_name *.run.goorm.io; charset utf-8; client_max_body_size 128M; location / { uwsgi_pass unix:///workspace/mbittest/tmp/MBIT.sock; include uwsgi_params; } location /static/ { alias /workspace/mbittest/staticfiles/; } } uwsgi.ini [uwsgi] chdir = /workspace/mbittest/ module = MBIT.wsgi:application home = /workspace/mbittest/venv/ uid = root gid = root socket = /workspace/mbittest/tmp/MBIT.sock chmod-socket = 666 chown-socket = root:root http = :80 enable-threads = true master = true vacuum = true pidfile = /workspace/mbittest/tmp/MBIT.pid logto = /workspace/mbittest/log/uwsgi/@(exec://date +%%Y-%%m-%%d).log log-reopen = true static-map = /static=/workspace/mbittest/staticfiles/ 여기서 에러가 발생하니 기존의 python manage.py runserver 0:80 명령어도 되지 않아서 아예 다음으로 넘어가질 못하고 있습니다ㅠㅠ 빠른 답변 부탁드립니다!!!
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
2번 문제에서 넘어가질 않습니다(강의 하단의 trouble shooting까지 확인한 상황)
강사님 강의를 잘 듣고 있던 와중에 문제가 발생하여 다시 글 남깁니다. 템플릿에 적용하기 전에는 2번에서 다음으로 잘 넘어갔는데, 템플릿을 적용한 후로는 2번에서 다음 버튼이 먹질 않습니다. <input type="radio" name="question-{{ question.number }}" id="choice-{{ choice.pk }}" value="{{ choice.developer.pk }}" /> 부분은 강의 초반에 제대로 적용해서 이 부분에 오류가 나진 않은 것 같습니다. 강의 하단의 trouble shooting 내용을 토대로 진행했을 때, 먼저 저는 데스크톱 크롬 100%인 상태임에도 되지 않고, $('html, body').animate({scrollTop: (700)}, 500); $('html, body').animate({scrollTop: (1400)}, 500); $('html, body').animate({scrollTop: (2100)}, 500); 이렇게 하면 1 -> 2 -> 3번으로 제대로 갑니다. form.js 코드를 해결방법에 있는 내용으로 변경해도 여전히 2번에서 멈춰있습니다ㅠㅠ 아래는 관련 소스코드입니다. form.html {% load static %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" type="text/css" href="{% static 'css/reset.css' %}"> <link rel="stylesheet" type="text/css" href="{% static 'css/form.css' %}"> <script src="https://code.jquery.com/jquery-3.5.1.js"></script> <title>나의 개발 유형찾기</title> </head> <body> <section id="survey"> <div class="wrapper"> <form id="form" action="/result/" method="post"> {% csrf_token %} {% for question in questions %} <div class="test"> <div class="question_container"> <h3 class="number">{{ question.number }}/{{ questions.count }}</h3> <h3 class="question">{{ question.counter }}</h3> </div> <div class="answer"> {% for choice in question.choice_set.all %} <div> <input type="radio" name="question-{{ question.number }}" id="choice-{{ choice.pk }}" value="{{ choice.developer.pk }}" /> <label for="choice-{{ choice.pk }}">{{ forloop.counter }}. {{ choice.content }}</label> </div> {% endfor %} </div> {% if not forloop.first %} <div class="btn_wrap btn_sort"> {% else %} <div class="btn_wrap"> {% endif %} {% if not forloop.first %} <button class="prev_btn">이전</button> {% endif %} {% if not forloop.last %} <button class="next_btn">다음</button> {% else %} <input type="submit" value="제출" class="submit_btn"/> {% endif %} </div> </div> {% endfor %} </form> </div> </section> <script type="text/javascript" src="{% static 'js/form.js' %}"></script> </body> </html> form.js // function scrollUp() { // const vheight = $('.test').height(); // $('html, body').animate({ // scrollTop: ((Math.ceil($(window).scrollTop() / vheight) - 1) * vheight) // }, 500); // }; // function scrollDown() { // const vheight = $('.test').height(); // $('html, body').animate({ // scrollTop: ((Math.floor($(window).scrollTop() / vheight) + 1) * vheight) // }, 500); // }; function scrollUp(top) { const vheight = $('.test').height(); const margin_top = parseInt($('#survey').css('margin-top'), 10); $('html, body').animate({ scrollTop: top - vheight - margin_top }, 500); }; function scrollDown(top) { const vheight = $('.test').height(); const margin_top = parseInt($('#survey').css('margin-top'), 10); $('html, body').animate({ scrollTop: vheight + top - margin_top }, 500); } $(function() { // $('.next_btn').click(function(e) { // let divs = $(this).parent().prev().children(); // let inputs = divs.find('input:checked'); // if(inputs.length < 1) { // alert('문항이 선택되지 않았습니다'); // return false; // } // e.preventDefault(); // scrollDown(); // }); // $('.prev_btn').click(function(e) { // e.preventDefault(); // scrollUp(); // }); $('.next_btn').click(function(e){ let divs = $(this).parent().prev().children(); let present_top = $(this).parent().parent()[0].offsetTop; let inputs = divs.find('input:checked'); if(inputs.length < 1) { alert('문항이 선택되지 않았습니다.'); return false; } e.preventDefault(); scrollDown(present_top); }); $('.prev_btn').click(function(e){ let present_top = $(this).parent().parent()[0].offsetTop; e.preventDefault(); scrollUp(present_top); }); $('#form').submit(function() { let radios = $('input[type=radio]:checked'); if(radios.length < 3) { alert('문항이 선택되지 않았습니다'); return false; } return true; }); $('html, body').animate({ scrollTop: 0 }, 500); }); 답변 기다리고 있겠습니다! 감사합니다.
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
python manage.py makemigrations 오류 발생
안녕하세요. 강의 잘 따라다가 오류가 발생해서 질문 남깁니다. models.py 작성 후 터미널에서 python manage.py makemigrations를 치면, AttributionError: module 'django.db.models' has no attribute 'model'이라고 에러가 발생합니다. 에러 관련 내용 첨부합니다. models.py 부분에 오타가 나거나 하진 않은 것 같은데 어디가 잘못된 걸까요? models.py 부분도 같이 첨부하겠습니다. 답변 기다리겠습니다. 감사합니다.
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
css 질문
안녕하세요 css를 static에 복사 붙여넣기 한 후 css 내용을 수정 후 저장 했는데 수정된 내용이 적용이 안됩니다. 장고에 원본 css 파일이 캐시파일 형태로 들어 가 있어서 css파일을 삭제 해도 대신 캐시파일때문에 깨지지 않는 것인가요?
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
노션 수정 요청
노션에서 def form(request): ... return redirect('main:result',developer_id=best_developer_id) 되어 있는데 def submit(request): 로 수정 부탁드립니다.
- 미해결<M.B.I.T> 테스트 페이지 만들기! with Django
반응형 적용
강의에서 나온 스크로다운 방식을 통해서 페이지 넘김을 진행했을시 반응형 테스트로 다른 디바이스 및 가로모드 세로모드 모두 에서 사용하게 되면 화면이 일률적으로 나오지 않고 깨져서 나오는 것으로 확인되었습니다. 추신)CSS를 활용하여 미디어쿼리도 적용하였으니 일부 비율에서는 페이지 넘김 기능이 작동하지 않고 또 가로모드에서는 깨지는 현상이 발생했습니다. 혹시 이러한 부분에 대해서 문제의 해결책을 알려주실 수 있을까요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.