월 26,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
부트스트랩 관련 질문
근데 강의에서 부트스트랩 4.x 버전을 사용하시는 이유가 있으신가요? 제 개인 프로젝트 사이트에서는 부트스트랩 5.x 버전을 적용하고 싶거든요.
- 해결됨Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
여기 파트는 새로운 방법을 알려주셨지만
그 방법조차 바뀌어서 최근 결제한 저는 좀 혼동이오고 해매고 있습니다 ㅠㅠ 업데이트 버전이 많이 또 틀려졌나봐요
- 미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
Field 'id' expected a number but got '미분류'
강의를 보며 미분류 카테고리를 처리하는 category_page를 만들던 와중에 def category_page(requset, slug): if slug=='no-category': category='미분류' post_list=Post.objects.filter(category=None) else: category=Category.objects.get(slug=slug) post_list = Post.objects.filter(category=category) return render( requset, 'blog/index.html', { 'post_list':Post.objects.filter(category=category), 'categories':Category.objects.all(), 'no_category_post_count':Post.objects.filter(category=None).count(), 'category':category } ) ValueError: Field 'id' expected a number but got '미분류' 라는 오류가 뜹니다 해결법을 알 수 있을까요?
- 해결됨Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
에러 발생 질문드립니다
안녕하세요, tests.py에 from django.test import TestCase, Clientfrom bs4 import BeautifulSoupfrom .models import Postclass TestView(TestCase): def setUp(self): self.client = Client() def test_post_list(self): pass 이렇게만 입력해도 python manage.py test를 하면 다음과 오류가 납니다. (오류는 첫번째줄과 마지막 줄만 올립니다) Creating test database for alias 'default'... Traceback (most recent call last): File "C:\Do_it_django_2\venv\lib\site-packages\django\db\models\options.py", line 608 , in get_field return self.fields_map[field_name] KeyError: 'updated_at' raise FieldDoesNotExist("%s has no field named '%s'" % (self.object_name, field_name)) django.core.exceptions.FieldDoesNotExist: Post has no field named 'updated_at' 근데, 마이그레이션도 다 완료했고, models.py에도 updated_at이 선언되어 있습니다. 보니까 문제가 Post를 import하는 곳에서 나는것이 아니고, def test_post_list(self) 함수 자체에서 나는것 같더라고요. 이게 아마도 view의 PostList 클래스가 post_list.html을 자동으로 불러오는 것처럼 똑같이 test_post_list 도 post_list.html을 어떠한 명시없이 똑같이 참조하는 원리인것 같은데요. 어떻게 해결해야 할지 몰라 질문드립니다. 더 필요한 코드가 있으시면 말씀해주세요. 감사합니다.
- 해결됨Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
터미널 문제
그동안 터미널에서 python manage.py runserver하면 이상 없이 됐었는데, 대문 만들기를 하면서 위 코드를 실행하면 no module named 'templates'라고 뜨면서 터미널에서 오류가 생기는데 어떻게 해결할 수 있어요? ㅠㅠ
- 미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
사진이 옆으로 이동을 안합니다..
사진이 옆으로 가질 않는데 제가 코드를 잘못 쓴걸까요?ㅠ <!DOCTYPE html> <html lang="ko"> <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>About Me</title> <link rel="stylesheet" href="pratice.css" type="text/css"> <script type="text/javascript" src="./add_two_numbers.js"></script> <script type="text/javascript" src="what_time_is_it.js"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous"> </head> <body> <nav class="navbar navbar-expand-lg navbar-light bg-light"> <nav class="container"> <a class="navbar-brand" href="#">Fire Watcher</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNavDropdown"> <ul class="navbar-nav"> <li class="nav-item active"> <a class="nav-link" href="index.html">Home <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="blog_list.html">Blog</a> </li> <li class="nav-item"> <a class="nav-link" href="about_me.html">About Me</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Dropdown link </a> <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> <a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Another action</a> <a class="dropdown-item" href="#">Something else here</a> </div> </li> </ul> </div> </nav> </nav> <div class="container"> <div class="low"> <div class="col-9"> <h1>About Me</h1> <h2>대전사람 스미스입니다.</h2> <p>HTML, CSS, JS DJANGO로 웹사이트 만들기를 좋아합니다.</p> <a href="./index.html">첫 화면으로 가기</a> <button onclick="whatTimeIsIt()">현재시각</button> <hr> </div> <div class="col-3"> <img src="imgs/coding_cat.gif" width="300px" alt=""> </div> </div> </div> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script> </body> </html>
- 미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
부트스트랩 질문입니다!
부트스트랩을 사용하면 쉽게 UI를 구성할수 있는데 혹시 실무에 가서도 많이 사용하는 편일까요? 뭔가 부트스트랩만 사용해서 만들다보면 html css 로 못만들게 될까봐 걱정되기도 하네요ㅠㅠ 마치 코딩하다가 타자로 전부 안치고 스니펫 사용하는거 처럼요ㅠㅠ..
- 미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
Edit Post 태그 수정 Error
Edit Post를 누르면 Tags에 원래 있던 태그가 나오고 다른 태그를 작성해서 submit하면 Error가 발생합니다. 강의대로 진행했는데 Error가 발생해서 질문 남깁니다.
- 해결됨Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
TDD - 블로그 목록 페이지에 대한 테스트 코드 만들기
안녕하세요. 강사님 상기 첨부드린 대로 코드를 입력했는데 계속 에러가 나네요. 이해가 안되서 그러는데 왜 그런지 알 수 있을까요? 어떻게 수정해야 할까요? --
- 미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
책내용이 강좌에 어느 정도 포함되어 있나요?!
책내용이 강좌에 어느정도 포함되어 있나요?! 퍼센티지로 자세하게 말씀주시면 감사하겠습니다..
- 미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
sql 접속해서 쿼리 날리는 방법
강의를 끝까지 완강하였는데요! mysql workbench나 터미널에서 sql 접속해서 db 확인한느 과정들을 해본 경험이 있는데요! docker에 postgre sql을 올려서 서버를 실행시키는 경우 db에 제가 직접 접속해서 query 날려보는 과정들은 어떻게 할 수 있는 것인가요??
- 미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
env.prod 질문
.env.prod 파일에서 DJANGO_ALLOWED_HOSTS = localhost 127.0.0.1 [::1] 가 갖는 의미가 무엇인지 잘 모르겠습니다 ([::1] 이 무엇인지도 모르겠습니다) 그리고 ec2에 올릴때 ec2의 public ip를 단순히 저 line에 추가해주는데 어떤 원리인지 설명해주실 수 있으신가요??
- 미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
FBV로 대문 페이지 자기소개페이지 만들기 에러
FBV로 대문 페이지 자기소개페이지 만들기 에러가 나서 코드를 확인하고 싶은데 강사님 깃허브에서 어느 파일명으로 찾아야 할까요?
- 미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
에러가 나는데 이유를 모르겠습니다
Traceback (most recent call last): File "F:\PG\Python\Do_it_DJango\do_it_DJango\blog\tests.py", line 69, in test_post_list_with_posts self.navbar_test(soup) File "F:\PG\Python\Do_it_DJango\do_it_DJango\blog\tests.py", line 53, in navbar_test self.assertEqual(home_btn.attrs['href'], '/') AttributeError: 'NoneType' object has no attribute 'attrs' ====================================================================== ERROR: test_post_list_without_post (blog.tests.TestView) ---------------------------------------------------------------------- Traceback (most recent call last): File "F:\PG\Python\Do_it_DJango\do_it_DJango\blog\tests.py", line 99, in test_post_list_without_post self.navbar_test(soup) File "F:\PG\Python\Do_it_DJango\do_it_DJango\blog\tests.py", line 53, in navbar_test self.assertEqual(home_btn.attrs['href'], '/') AttributeError: 'NoneType' object has no attribute 'attrs' 원래는 에러가 안났었는데 어느 순간 에러가 납니다. 어디가 잘못된걸까요...? from django.test import TestCase, Client from django.contrib.auth.models import User from bs4 import BeautifulSoup from .models import Post, Category class TestView(TestCase): def setUp(self): self.client = Client() self.user_trump = User.objects.create_user( username='trump', password='fkqls1004!', ) self.user_obama = User.objects.create_user( username='obama', password='fkqls1234!', ) self.category_programming = Category.objects.create( name='programming', slug='programming' ) self.category_music = Category.objects.create( name='music', slug='music' ) self.post_001 = Post.objects.create( title='첫 번째 포스트 입니다.', content='Hello, World. We are the World', category=self.category_programming, author=self.user_trump, ) self.post_002 = Post.objects.create( title='두 번째 포스트 입니다.', content='저는 떡볶이를 좋아합니다.', category=self.category_music, author=self.user_obama, ) self.post_003 = Post.objects.create( title='세 번째 포스트 입니다.', content='카테고리가 없을 수도 있죠', author=self.user_obama, ) def navbar_test(self, soup): navbar = soup.nav self.assertIn('Blog', navbar.text) self.assertIn('About me', navbar.text) logo_btn = navbar.find('a', text='Do It Django') self.assertEqual(logo_btn.attrs['href'], '/') home_btn = navbar.find('a', text='Home') self.assertEqual(home_btn.attrs['href'], '/') blog_btn = navbar.find('a', text='Blog') self.assertEqual(blog_btn.attrs['href'], '/blog/') about_me_btn = navbar.find('a', text='About me') self.assertEqual(about_me_btn.attrs['href'], '/about_me/') def category_card_test(self, soup): categories_card = soup.find('div', id='categories-card') self.assertIn('Categories', categories_card.text) self.assertIn( f'{self.category_programming} ({self.category_programming.post_set.count()})', categories_card.text ) self.assertIn( f'{self.category_music} ({self.category_music.post_set.count()})', categories_card.text ) self.assertIn( f'미분류 ({Post.objects.filter(category=None).count()})', categories_card.text ) def test_post_list_with_posts(self): self.assertEqual(Post.objects.count(), 3) response = self.client.get('/blog/') self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') self.assertIn('Blog', soup.title.text) self.navbar_test(soup) self.category_card_test(soup) main_area = soup.find('div', id='main-area') # 3.4 "아직 게시물이 없습니다." 라는 문구가 없어야 한다. self.assertNotIn('아직 게시물이 없습니다.', main_area.text) post_001_card = main_area.find('div', id='post-1') self.assertIn(self.post_001.title, post_001_card.text) self.assertIn(self.post_001.category.name, post_001_card.text) post_002_card = main_area.find('div', id='post-2') self.assertIn(self.post_002.title, post_002_card.text) self.assertIn(self.post_002.category.name, post_002_card.text) post_003_card = main_area.find('div', id='post-3') self.assertIn(self.post_003.title, post_003_card.text) self.assertIn('미분류', post_003_card.text) self.assertIn(self.post_001.author.username.upper(), main_area.text) self.assertIn(self.post_002.author.username.upper(), main_area.text) def test_post_list_without_post(self): Post.objects.all().delete() self.assertEqual(Post.objects.count(), 0) response = self.client.get('/blog/') self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') self.assertIn('Blog', soup.title.text) self.navbar_test(soup) main_area = soup.find('div', id='main-area') self.assertIn('아직 게시물이 없습니다.', main_area.text) def test_post_detail(self): self.assertEqual(Post.objects.count(), 3) # 1.2 그 포스트의 url은 '/blog/1/' 이다. self.assertEqual(self.post_001.get_absolute_url(), '/blog/1/') # 2. 첫 번째 포스트의 상세 피이지 테스트 # 2.1 첫 번째 포스트의 url로 접근하면 정상적으로 response가 온다(status code: 200). response = self.client.get(self.post_001.get_absolute_url()) self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') # 2.2 포스트 목록 페이지와 똑같은 네비게이션 바가 있다. navbar = soup.nav self.assertIn('Blog', navbar.text) self.assertIn('About me', navbar.text) # 2.3 첫 번째 포스트의 제목이 웹 브라우저 웹 타이틀에 들어 있다. self.assertIn(self.post_001.title, soup.title.text) # 2.4 첫 번째 포스트의 제목이 포스트 영역에 있다. main_area = soup.find('div', id='main-area') post_area = main_area.find('div', id='post-area') self.assertIn(self.post_001.title, post_area.text) # 2.5 첫 번째 포스트의 작성자(author)가 포스트 영역에 있다(아직 구현할 수 없음). self.assertIn(self.user_trump.username.upper(), post_area.text) # 2.6 첫 번째 포스트의 내용(content)이 포스트 영역에 있다. self.assertIn(self.post_001.content, post_area.text)
- 미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
부트스트랩에서 스타일시트는 다운로드하고 자바스크립트는 복사하는 이유가 있나요?
부트스트랩을 적용할때 스타일시트는 다운받고 자바스크립트는 웹사이트에서 복사해서 사용하는데 이유가 있나요??? 자바스트립은 왜 다운받은걸 적용하지 않는건가요?
- 미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
중복된 영상이 업로드된 것 같습니다
미디어 파일 관리하기 - 이미지 파일 업로드를 위한 ImageField 강의 영상과 템플릿에서 조건문 쓰기 - if 문으로 이미지 없는 경우 처리하기 두 강의와 같은 영상입니다. 책 내용와 다음 강의를 보니 영상을 잘못 올리신 것 같네요.
- 미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
기다리고 있어요!
언제쯤 업로드 되나요?