1 00:00:00,000 --> 00:00:00,499 2 00:00:00,499 --> 00:00:03,227 [음악 재생] 3 00:00:03,227 --> 00:00:04,705 4 00:00:04,705 --> 00:00:05,830 에즈라 ZIGMOND : 안녕하세요, 여러분. 5 00:00:05,830 --> 00:00:08,020 오늘와 주셔서 감사합니다. 6 00:00:08,020 --> 00:00:10,660 이 세미나는 "파이썬입니다 웹 플라스크와 애플 리케이션. " 7 00:00:10,660 --> 00:00:14,510 >> 그래서, 내가 얘기하는거야 이유에 대해 조금 8 00:00:14,510 --> 00:00:17,400 당신은 할 플라스크를 사용 할 수 있습니다 파이썬 웹 앱으로는 반대 9 00:00:17,400 --> 00:00:21,556 거기에 다른 프레임 워크 등에 가장 잘 알려져있다 장고,. 10 00:00:21,556 --> 00:00:24,330 부제는 "와 뭔가 peewee " 11 00:00:24,330 --> 00:00:27,250 우리는 방법에 대해 이야기하는거야 SQL 데이터베이스와 상호 작용할 수 있습니다. 12 00:00:27,250 --> 00:00:29,610 그것은 정말 좋은 수 있습니다. 13 00:00:29,610 --> 00:00:32,390 >> 그래서, 여기에 그냥 빨리 개요이다 내가 가서 할 무엇. 14 00:00:32,390 --> 00:00:35,520 그래서, 먼저, 하나의 슬라이드 즉, 빠른 될 것 15 00:00:35,520 --> 00:00:38,530 이는 모든 것을 얻을하는 방법입니다 컴퓨터에 설정합니다. 16 00:00:38,530 --> 00:00:41,760 나는 시연 할거야 내 로컬 맥 컴퓨터에서이, 17 00:00:41,760 --> 00:00:45,220 그건 그냥 있기 때문에 나는이 일을 한 경우 전에, 나는 그것으로 가장 편안 해요 18 00:00:45,220 --> 00:00:48,510 그러나 이것은 확실히 CD50 IDE에 가능합니다. 19 00:00:48,510 --> 00:00:52,050 >> 그래서, 그 후, 내가 원하는 , 플라스크가 무엇인지 소개 20 00:00:52,050 --> 00:00:55,089 당신을 설득 왜해야 처음에 그것을 사용할 수 있습니다. 21 00:00:55,089 --> 00:00:56,880 그럼, 빠른주지 당신이 무엇의 예 22 00:00:56,880 --> 00:01:00,550 플라스크, 빠른 예에서 할 수있는 당신이 peewee에서 무엇을 할 수 있는지, 23 00:01:00,550 --> 00:01:05,010 그리고 난 당신에게 더 많은 것을 보여줄 것이다 전체 예제 응용 프로그램 24 00:01:05,010 --> 00:01:07,520 나는 우리 것을 함께 넣어 함께 걸을 수 있습니다. 25 00:01:07,520 --> 00:01:10,040 >> 그리고 마지막에 마지막 슬라이드, 내가 가진 26 00:01:10,040 --> 00:01:12,730 당신이 보는 일부 리소스 자세한 내용은 온라인에서. 27 00:01:12,730 --> 00:01:15,560 이 완전하지 않습니다 플라스크를 사용하는 방법에 대한 튜토리얼. 28 00:01:15,560 --> 00:01:18,140 그리고 내가 떠날 희망합니다 질문 시간. 29 00:01:18,140 --> 00:01:21,050 사람은 그냥 로컬보고 같은, 중간에 밖으로 소리 30 00:01:21,050 --> 00:01:22,340 당신은 질문이있는 경우. 31 00:01:22,340 --> 00:01:27,150 >> 그래서 빠른 설치 물건, 당신이 함께 따라하려는 경우, 32 00:01:27,150 --> 00:01:29,240 또는이를 얻으려면 자신의 컴퓨터에 최대 33 00:01:29,240 --> 00:01:32,440 파이썬 2.7.10을 사용하는거야. 34 00:01:32,440 --> 00:01:35,860 플라스크와 함께 작업을 수행 파이썬 3,하지만 내가 좋아하는 35 00:01:35,860 --> 00:01:38,660 이 때문에, 파이썬이 사용 일부 파이썬 패키지 그 36 00:01:38,660 --> 00:01:40,910 아직 3 작동하지 않습니다. 37 00:01:40,910 --> 00:01:44,800 당신은 핍 설치 한 경우, 어떤 파이썬 패키지 관리자입니다, 38 00:01:44,800 --> 00:01:48,190 파이썬 경우 생각 보다 크거나 2.7.9 동일, 39 00:01:48,190 --> 00:01:52,220 당신이 이미 설치되어, 그것은이다 이 패키지를 설치하기 아주 쉽게. 40 00:01:52,220 --> 00:01:54,990 >> 당신은 PIP 설치 할 수 플라스크, peewee를 설치 핍, 41 00:01:54,990 --> 00:01:58,600 일반적으로 당신은 sudo를 실행해야 그래서 권한이 운동있다. 42 00:01:58,600 --> 00:02:01,080 그리고, 당신이 사용하는 경우 슈퍼 파이썬의 이전 버전, 43 00:02:01,080 --> 00:02:05,100 나는, 파이썬를 업데이트하는 것이 좋습니다 또는 쉬운 설치를 사용하여 PIP를 설치합니다. 44 00:02:05,100 --> 00:02:09,180 45 00:02:09,180 --> 00:02:11,120 그래서 다음 질문은, 플라스크는 무엇인가? 46 00:02:11,120 --> 00:02:13,280 그리고 내가 먼저, 생각 합리적인 질문 궁금 47 00:02:13,280 --> 00:02:15,585 오랜 시간이 들어, 웹 응용 프로그램은 무엇인가? 48 00:02:15,585 --> 00:02:17,960 그 단어이기 때문에 그 나는 많은 주위에 던져 생각 49 00:02:17,960 --> 00:02:19,240 난 정말 몰랐다. 50 00:02:19,240 --> 00:02:22,340 그리고 가장 좋은 생각 웹 응용 프로그램이 무엇인지의 예, 51 00:02:22,340 --> 00:02:26,960 정말 CS50 금융이다 그것은 정말 그냥 웹 사이트 아니다 52 00:02:26,960 --> 00:02:29,320 하지만 뭔가 당신을 종류와 상호 작용 할 수있다. 53 00:02:29,320 --> 00:02:31,736 사용자 계정이 있고 다른 여러 가지의 물건. 54 00:02:31,736 --> 00:02:35,010 그래서, 정확히 어디 그리 웹 사이트 무슨 사이의 라인, 55 00:02:35,010 --> 00:02:38,780 및 웹 응용 프로그램은, 어떤 종류의이다 임의의,하지만 아이디어를 생각, 56 00:02:38,780 --> 00:02:42,110 이 웹 사이트보다 더 뭔가 그것은 유용한 애플리케이션이다. 57 00:02:42,110 --> 00:02:46,081 >> 그래서, 플라스크 프레임 워크입니다 파이썬을 사용하여 웹 응용 프로그램을 만드는. 58 00:02:46,081 --> 00:02:48,330 그리고 희망, 말 이런, 내가 당신을 설득 할 것이다 59 00:02:48,330 --> 00:02:52,210 당신은 실제로 뭔가를 쓸 수 있음 CS50 금융처럼 파이썬을 사용하는 나는 60 00:02:52,210 --> 00:02:53,950 개인적으로, PHP보다 훨씬 더 좋아. 61 00:02:53,950 --> 00:02:57,320 >> 그래서, 플라스크, 그들은 전화 microframework,있는, 62 00:02:57,320 --> 00:02:59,800 그들은 매우 뜻 간단하지만 신성. 63 00:02:59,800 --> 00:03:02,980 그래서, 그것은, 당신이 필요 단지가 하지만 당신은 더 많은 기능을 원하는 경우, 64 00:03:02,980 --> 00:03:04,522 그것은 그들을 가지고 쉽다. 65 00:03:04,522 --> 00:03:06,480 하지만 그냥 있기 때문에 microframework하지 않습니다 66 00:03:06,480 --> 00:03:08,960 이 작은 프로젝트 만의 것을 의미한다. 67 00:03:08,960 --> 00:03:12,590 나는 말한다 여기에 링크를 오바마 대통령은 2012 년 플라스크를 사용하는 것이 68 00:03:12,590 --> 00:03:14,410 그의 캠페인 웹 사이트, 어떤 희망, 69 00:03:14,410 --> 00:03:16,937 보증의 무언가이다. 70 00:03:16,937 --> 00:03:18,770 하지만 일이 내가 정말 플라스크에 대해 좋아 71 00:03:18,770 --> 00:03:22,401 , 정말하지 않는다는 것입니다 당신을위한 의사 결정의 모든 종류. 72 00:03:22,401 --> 00:03:24,150 그냥 우리가하고 있기 때문에 웹 응용 프로그램에 대해 얘기, 73 00:03:24,150 --> 00:03:26,940 I는 루비와 비교해야 레일 및 장고, 모두의 74 00:03:26,940 --> 00:03:30,450 큰 틀이 있지만 둘 다 가정을 75 00:03:30,450 --> 00:03:33,600 에 대해 어떻게 당신이 원하는 데이터베이스와 상호 작용 76 00:03:33,600 --> 00:03:36,900 어떻게 당신이 당신을 제시 할 뷰는, 그들은 확실히있어 77 00:03:36,900 --> 00:03:38,850 그 좋은 측면. 78 00:03:38,850 --> 00:03:41,490 >> 예를 들어, 루비에 레일 이 활성 기록 시스템을 가지고, 79 00:03:41,490 --> 00:03:43,100 이는 정말 좋은 데이터와 상호 작용하는 방법, 80 00:03:43,100 --> 00:03:45,960 하지만 당신은에 루비를 사용하려는 경우 레일, 당신은 종류의에 묶여있어. 81 00:03:45,960 --> 00:03:47,835 그러나 플라스크에, 나는 겠지만 peewee 당신을 보여, 82 00:03:47,835 --> 00:03:49,830 당신은 어떤 종류를 사용할 수 있습니다 데이터베이스의 당신이 원하는, 83 00:03:49,830 --> 00:03:53,980 당신은 그냥 그 당겨 수 있습니다 플라스크에 확장으로. 84 00:03:53,980 --> 00:03:56,350 >> 그래서 왜 내가 정말 플라스크처럼, 그것은 것을이다 85 00:03:56,350 --> 00:04:01,170 당신을 위해 가정을하지 않습니다 일을 기준으로 당신이 정말로 필요하지 않습니다. 86 00:04:01,170 --> 00:04:04,440 >> 그럼, 왜 당신은 플라스크를 사용해야합니까? 87 00:04:04,440 --> 00:04:08,230 장점은 그냥이다 정말 핵심 기능을 가지고 있습니다 88 00:04:08,230 --> 00:04:09,420 그것으로 내장 당신이 필요. 89 00:04:09,420 --> 00:04:11,980 그래서, 당신은 걱정하지 않아도 일의 모두를 이해 90 00:04:11,980 --> 00:04:13,175 당신이 정말로 필요가 없습니다. 91 00:04:13,175 --> 00:04:15,060 당신은 걱정할 필요가 없습니다 기능을 끄는 방법에 대한 92 00:04:15,060 --> 00:04:16,620 당신이 정말로 필요가 없습니다. 93 00:04:16,620 --> 00:04:21,082 >> 내가 언급 한 바와 같이 그리고, 그것은 최고입니다 사물의 확장에 쉽게 추가 할 수 94 00:04:21,082 --> 00:04:21,790 당신은 필요합니까있다. 95 00:04:21,790 --> 00:04:24,700 그들 중 일부는, 플라스크가 그것에 대한 자신의 지원. 96 00:04:24,700 --> 00:04:28,230 그래서 플라스크라는 뭔가가있다 해당 관리 거울 관리자, 97 00:04:28,230 --> 00:04:32,060 장고가 제공하는 패널, 하는 당신에게 좋은 시각적 인 방법을 제공합니다 98 00:04:32,060 --> 00:04:33,405 당신의 웹 사이트를 관리 할 수​​ 있습니다. 99 00:04:33,405 --> 00:04:35,280 그러나 다시, 당신은이 있다면 뭔가 간단하게, 100 00:04:35,280 --> 00:04:39,550 당신은 아마 큰 관리가 필요하지 않습니다 패널은, 그래서 그 슈퍼 좋은 것 같아요. 101 00:04:39,550 --> 00:04:45,940 그리고 단점은, 그 있습니다 당신은 상자 밖으로 적은 전력을 가지고있다. 102 00:04:45,940 --> 00:04:49,660 그래서, 당신은 첫 번째 술병을 열 때, 당신의 파이썬 프로그램에서, 103 00:04:49,660 --> 00:04:53,150 당신은 플라스크에서 입력 수입 *, 또는 무엇이든, 104 00:04:53,150 --> 00:04:55,957 정확히 모두를 얻을하지 않습니다 기능은 당신이 할 수 있습니다. 105 00:04:55,957 --> 00:04:58,540 그래서 당신은 더 명시 적으로를해야 당신이 원하는 기능을 나열합니다. 106 00:04:58,540 --> 00:05:01,990 그래서 한 가지 단점,하지만 작은 웹을위한 건물이라고 생각 107 00:05:01,990 --> 00:05:04,782 나는 같은 애플 리케이션을 보여주는거야 당신은, 그건 정말 문제가되지 않습니다. 108 00:05:04,782 --> 00:05:07,281 그리고 마지막은 무엇인가 오타 인 말을하는데, 109 00:05:07,281 --> 00:05:10,240 덜 표준화 있다는 것입니다 플라스크를 사용하는 방법에 대한 규칙, 110 00:05:10,240 --> 00:05:12,400 다만만큼이되지 않기 때문에 전문적으로 그것을 사용하는 사람들 111 00:05:12,400 --> 00:05:13,191 장고에 비해. 112 00:05:13,191 --> 00:05:16,380 그래서, 당신은 같은 것을 보면, 장고에 "어떻게 X를합니까" 113 00:05:16,380 --> 00:05:18,190 당신은 아마 그것을 찾을 수 있습니다. 114 00:05:18,190 --> 00:05:20,260 >> 좋은 디자인이있다 당신이 사용할 수있는 패턴, 115 00:05:20,260 --> 00:05:22,660 하지만 플라스크, 그것은이다 일종의 자신의 길을 갈, 116 00:05:22,660 --> 00:05:24,850 그냥 왜냐하면 꽤 작은 도서관. 117 00:05:24,850 --> 00:05:27,100 그래서 사람들은 단점은, 그러나 나는 생각한다 118 00:05:27,100 --> 00:05:29,370 것을 아직도 사용하는 것이 라이브러리입니다. 119 00:05:29,370 --> 00:05:31,909 >> 그럼 바로 플라스크에 뛰어 보자. 120 00:05:31,909 --> 00:05:34,200 이것은 확실히하지 않을 것입니다 튜토리얼을 완료하기 위해, 121 00:05:34,200 --> 00:05:37,480 하지만 그것은 당신에게 아이디어를주고 있어요 사물을 구성하는 방법, 122 00:05:37,480 --> 00:05:40,790 그래서 당신이가는 편안한 느낌 오프 및 문서보고 123 00:05:40,790 --> 00:05:42,570 등을 알아내는. 124 00:05:42,570 --> 00:05:48,500 >> 그래서, 내가 정말 열 수 있습니다 처음에는 간단한 예를 들어, 125 00:05:48,500 --> 00:05:50,737 그리고 그 무엇을 보여 모양, 그리고, 우리는거야 126 00:05:50,737 --> 00:05:52,070 조금 더 내려 휴식. 127 00:05:52,070 --> 00:05:56,160 >> 그래서 여기, 내가 그것을 실행하자. 128 00:05:56,160 --> 00:06:06,800 129 00:06:06,800 --> 00:06:09,750 그래서, 지금 내 응용 프로그램을 실행합니다. 130 00:06:09,750 --> 00:06:15,910 나는 사파리를 열 예정하고있어 내 로컬 호스트에서 실행중인. 131 00:06:15,910 --> 00:06:19,360 그래서 난 그냥이 더 큰 만들거야. 132 00:06:19,360 --> 00:06:23,960 그러나 로컬 호스트 : 5000 133 00:06:23,960 --> 00:06:27,650 >> 그리고, 지금,이 모든 수행 , 당신은 웹 사이트를 방문 할 때, 134 00:06:27,650 --> 00:06:31,490 그것은 "안녕하세요 플라스크"를 출력한다 이는, 슈퍼 유용하지 않다 135 00:06:31,490 --> 00:06:34,630 그러나 나는 그 멋진 생각 여기이 작은 파일, 136 00:06:34,630 --> 00:06:37,390 우리는 웹 서버가 실행이 그 뭔가를 인쇄한다. 137 00:06:37,390 --> 00:06:40,500 그래서, 실제로 살펴 보자 두 번째의 코드에서, 138 00:06:40,500 --> 00:06:43,080 그리고 조금 내려 휴식. 139 00:06:43,080 --> 00:06:45,260 크기는 여기에 모든 사람을위한 좋은가요? 140 00:06:45,260 --> 00:06:51,560 >> 그래서, 희망, 당신은 어느 정도있어 파이썬을 사용하여 편안하게. 141 00:06:51,560 --> 00:06:55,820 나는 우리가 볼 수 있으리라 믿고있어 파이썬과 그것을 통해 읽어 보시기 바랍니다. 142 00:06:55,820 --> 00:06:59,290 당신에 대한 질문이있는 경우 아무것도, 나 또한 그 이상 갈 수 있습니다. 143 00:06:59,290 --> 00:07:03,974 >> 그래서 첫 번째 라인은 플라스크에서,이다, 우리는 자본, 플라스크를 가져 "F" 144 00:07:03,974 --> 00:07:06,140 이는 모든의 일종이다 당신이 필요로하는 주요 기능. 145 00:07:06,140 --> 00:07:08,890 때마다 당신이 쓰고있어 파일을 사용하여 플라스크, 146 00:07:08,890 --> 00:07:12,120 당신은을 가져올거야, 그 모든 주요 물건을 가지고해서. 147 00:07:12,120 --> 00:07:15,400 우리가 할 다음 일은, 우리입니다 다만,이 기능 플라스크를 호출 148 00:07:15,400 --> 00:07:19,270 응용 프로그램 객체를 생성, 당신은 야합니다 항상 그렇게 할 것. 149 00:07:19,270 --> 00:07:25,960 >> 다음, 아래로 점프 아래 신속,이 부분은 여기입니다 150 00:07:25,960 --> 00:07:28,760 이다 '의 if_name _ == "_ main_"' 파이썬 규칙의 일종. 151 00:07:28,760 --> 00:07:32,750 그래서 이것은 단지 당신이 경우 실행됩니다 직접 파이썬을 사용하여이 파일을 실행합니다. 152 00:07:32,750 --> 00:07:36,040 그런 다음, 우리는 것, app.run 전화 실제로가는 응용 프로그램을 시작합니다. 153 00:07:36,040 --> 00:07:39,570 >> 그래서, 그 주요 구조이다 그 당신은 어떤 플라스크 응용 프로그램에서해야합니다, 154 00:07:39,570 --> 00:07:48,550 당신이있을 것이다 응용 프로그램 = 플라스크 (_NAME_), 다음 app.run. 155 00:07:48,550 --> 00:07:54,940 >> 그래서, 두 가지 내가 가지고 여기에, 우리는 경로를 부르는 있습니다. 156 00:07:54,940 --> 00:07:57,150 자, 대해 얘기하자 조금 더 라우팅. 157 00:07:57,150 --> 00:07:58,430 내가 다시 슬라이드로 이동합니다. 158 00:07:58,430 --> 00:08:02,540 >> 그래서 가장 기본적인 플라스크의 개념은 라우팅된다. 159 00:08:02,540 --> 00:08:06,750 그리고 그것은 생각이 당신을 파이썬에 기능을 할당 160 00:08:06,750 --> 00:08:11,280 특정 주소 웹 페이지에. 161 00:08:11,280 --> 00:08:13,930 그래서 때마다 당신이 원하는 새로운 경로를 만들려면 162 00:08:13,930 --> 00:08:16,500 이 @의 app.route를 사용 함수 장식. 163 00:08:16,500 --> 00:08:19,770 그래서, 당신은 잘 모르는 경우입니다 파이썬에서 함수 데코레이터, 164 00:08:19,770 --> 00:08:24,160 그것은이 개념의 그 당신은 기능을 할 수 있습니다 165 00:08:24,160 --> 00:08:26,800 하고, 그 위치에 다른 내용을 둘러싸고 있습니다. 166 00:08:26,800 --> 00:08:30,140 >> 그래서 정말,이 장식이 무엇을, , 아래 그것을 함수를 취한다는 것이다 167 00:08:30,140 --> 00:08:33,409 그리고 더 많은 정보를 추가 그것, 그러나 플라스크 실제로 168 00:08:33,409 --> 00:08:37,480 그 일어날 수 있도록하는 일은 매우 아니다 중요하지만 중요한 것은, 169 00:08:37,480 --> 00:08:43,640 즉, 당신은 경로 전에이다 다음이 @의 app.route을두고, 170 00:08:43,640 --> 00:08:46,480 행의 어드레스, 그래서 슬래시는 우리 171 00:08:46,480 --> 00:08:48,360 우리가 웹 페이지를 열 때 보았다. 172 00:08:48,360 --> 00:08:49,580 그래서 홈페이지입니다. 173 00:08:49,580 --> 00:08:51,037 그것은 단지 슬래시 경로입니다. 174 00:08:51,037 --> 00:08:52,370 그리고 당신은이 기능을 가지고있다. 175 00:08:52,370 --> 00:08:54,453 함수의 이름 당신이 원하는대로 할 수있다. 176 00:08:54,453 --> 00:08:56,930 이 반드시 필요하지 않습니다 경로와 함께 할 수 있습니다. 177 00:08:56,930 --> 00:08:59,440 그리고, 어떤 함수의 반환, 178 00:08:59,440 --> 00:09:01,730 함수는 문자열을 반환해야합니다. 179 00:09:01,730 --> 00:09:03,740 그리고 그 문자열 수 , HTML 또는 아무것도 포함 180 00:09:03,740 --> 00:09:06,920 그 무엇을 얻을 것이다 실제로 HTML로 웹 브라우저에 반환, 181 00:09:06,920 --> 00:09:08,200 그리고 그 렌더링합니다. 182 00:09:08,200 --> 00:09:12,030 >> 그래서 이것은 동일한 코드이다 즉, 예에서 있었다 183 00:09:12,030 --> 00:09:16,430 난 그냥 실행되었는지, 그래서 우리는 슬래시가 방문 할 때, 그것은 안녕하세요 함수를 호출하는 184 00:09:16,430 --> 00:09:20,470 그냥 문자열, 안녕하세요 플라스크 반환, 그리고 그 화면에 출력됩니다. 185 00:09:20,470 --> 00:09:27,290 >> 그래서 또 다른 예는있다, 인 때 인사 / 방문 186 00:09:27,290 --> 00:09:30,370 그것은 안녕하세요 말씀을, 밖으로 인쇄합니다 실제로, 안녕하세요 말을해야, 187 00:09:30,370 --> 00:09:32,010 하지만 이제 그 의도적 척하자. 188 00:09:32,010 --> 00:09:35,140 그럼 진짜 빨리 그를 올려 보자. 189 00:09:35,140 --> 00:09:41,290 >> 그래서 당신은 안녕 / 로컬 호스트로 이동하는 경우, 지금은 다른 뭔가를 인쇄 할 수 있습니다. 190 00:09:41,290 --> 00:09:45,680 그래서 어떻게 그냥 빨리 예제 당신은 두 개의 서로 다른 경로를 만들 수 있습니다. 191 00:09:45,680 --> 00:09:50,630 >> 그래서, 지금까지, 슈퍼 유용하지 않다 당신이 할 수있는 훨씬이없는, 192 00:09:50,630 --> 00:09:55,360 당신은 모든 것을 할 수있는 다른 HTML 페이지를 갖는, 193 00:09:55,360 --> 00:09:58,000 당신이 특정를 방문 할 때 페이지 그냥 페이지를로드합니다. 194 00:09:58,000 --> 00:10:00,864 그럼 좀 더 살펴 보자 당신이 할 수있는 유용한 것. 195 00:10:00,864 --> 00:10:03,780 그래서, 한 가지 당신은 할 수 있음 내가 뽑아 예에서 발견 196 00:10:03,780 --> 00:10:07,160 최대, 내가 app.run했던 것입니다 (디버그 = 참). 197 00:10:07,160 --> 00:10:09,580 그리고, 어떤이 디버그 인수는,하지 198 00:10:09,580 --> 00:10:14,600 당신이 당신의 웹 서버를 실행할 때, 당신이 당신의 응용 프로그램에있을 때, 199 00:10:14,600 --> 00:10:18,100 당신이 파일을 변경하는 경우, 그것은 것입니다 자동으로 서버를 다시로드합니다. 200 00:10:18,100 --> 00:10:21,160 >> 그래서 당신은 실제로 필요가 없습니다 슈퍼 유용 다시 시작 파이썬,. 201 00:10:21,160 --> 00:10:24,020 나는 그것을 표시 할 수 있습니다. 202 00:10:24,020 --> 00:10:26,960 내 코드를 올려 보자 거기에 오타가와, 203 00:10:26,960 --> 00:10:30,420 그 오타가 넣어 척 의도적으로 교육적 목적을 위해. 204 00:10:30,420 --> 00:10:31,625 그럼이 다시 추가 할 수 있습니다. 205 00:10:31,625 --> 00:10:33,140 그래서 지금은 안녕하세요 말한다. 206 00:10:33,140 --> 00:10:34,410 나는 그것을 저장합니다. 207 00:10:34,410 --> 00:10:36,540 그리고 우리가 끌어 경우 터미널, 당신은거야 208 00:10:36,540 --> 00:10:39,520 그것은 다시 시작이야 말, 이 변화를 검출하기 때문에, 209 00:10:39,520 --> 00:10:43,620 그래서 지금 우리는이 페이지를 새로 고침 할 때 그것은 올바른 일을 인쇄합니다. 210 00:10:43,620 --> 00:10:45,630 >> 그래서 디버그는 슈퍼 유용합니다. 211 00:10:45,630 --> 00:10:48,740 또한, 당신은 어떤이있는 경우 충돌의 종류, 그래서 212 00:10:48,740 --> 00:10:54,370 날이 응용 프로그램 충돌을 만들어 보자 함으로써이 문자열을 반환하지. 213 00:10:54,370 --> 00:10:57,540 그래서, 그냥이하자 어떤 이유로 없음을 반환하지 않습니다. 214 00:10:57,540 --> 00:11:00,810 그리고 나는이를 방문 할 때 페이지, 그냥 충돌합니다, 215 00:11:00,810 --> 00:11:04,465 하지만 서버는, 그것을 충돌하지 않습니다 실제로 당신에게 매우 유용 등을 제공합니다 216 00:11:04,465 --> 00:11:06,490 모두의 추적은 잘못된 것이다. 217 00:11:06,490 --> 00:11:10,050 그리고, 정말 좋은 무슨가요 이 다시 추적의 모든 단계에서, 218 00:11:10,050 --> 00:11:14,260 당신은 대화를 열 수 여기 쉘 및 종류의 인쇄 무엇 219 00:11:14,260 --> 00:11:17,780 변수는 당신이보고 싶을. 220 00:11:17,780 --> 00:11:21,054 >> 그래서 디버깅 정말 파악하는 데 유용합니다 221 00:11:21,054 --> 00:11:23,470 무슨과에 가고 당신의 서버보다는 보는 222 00:11:23,470 --> 00:11:28,201 (500) 내부와 같은 PHP에서 뭔가 슈퍼 쓸모가 서버 오류. 223 00:11:28,201 --> 00:11:30,700 한가지는, 알아야 할 당신은 온라인으로 응용 프로그램을 넣어 경우 224 00:11:30,700 --> 00:11:34,260 그래서, 공중 볼의 당신 결코에 디버그 모드를 마칠 수 없습니다, 225 00:11:34,260 --> 00:11:37,320 사람들이 실제로 할 수 있기 때문에 그 콘솔을 사용하는 나는 226 00:11:37,320 --> 00:11:39,150 당신은 임의의 코드를 실행하는 것을 보여 주었다. 227 00:11:39,150 --> 00:11:42,120 >> 그래서 그들은 어떤처럼 인쇄 할 수 있습니다 당신이 거기에있는 비밀 코드 228 00:11:42,120 --> 00:11:44,755 그들은 정확하게 볼 수 있습니다 어떻게 당신의 웹 사이트가 작동된다. 229 00:11:44,755 --> 00:11:46,630 그래서 정말 유용 테스트를 위해,하지만 항상 230 00:11:46,630 --> 00:11:50,090 하기 전에 그것을 꺼내주십시오 온라인 아무것도 게시 할 수 있습니다. 231 00:11:50,090 --> 00:11:56,640 >> 그래서 때 당신이 뭔가를 사용하는 PHP처럼,이 아이디어있다 232 00:11:56,640 --> 00:11:58,920 당신은 통과 할 수 웹 페이지 정보 사이 233 00:11:58,920 --> 00:12:03,620 실제로 정보를 넣어 GET 요청되는 URL에, 234 00:12:03,620 --> 00:12:07,490 하지만 플라스크에, 당신은 실제로 수 일종의 그런 일을, 235 00:12:07,490 --> 00:12:10,590 보유 경로를 가짐으로써 그것의 일환으로 변수입니다. 236 00:12:10,590 --> 00:12:14,090 >> 이 보면 그래서 여기에 화면에 예, 237 00:12:14,090 --> 00:12:19,930 우리의 경로가 ( '/ 인사 /'), 그래서, 당신이 방문하는 경우 238 00:12:19,930 --> 00:12:23,790 / 안녕하세요 / 뭔가, 뭔가 실제로 채워진 얻을 것입니다 239 00:12:23,790 --> 00:12:25,490 이름 변수로. 240 00:12:25,490 --> 00:12:27,850 그리고 기능 통지 즉, 그 경로와 함께 제공 241 00:12:27,850 --> 00:12:31,302 매개 변수에 걸릴해야 이름 실제로 있도록 242 00:12:31,302 --> 00:12:32,510 함수에 전달받을. 243 00:12:32,510 --> 00:12:34,190 >> 그리고, 한 번 당신이있어 그 함수의 내부, 244 00:12:34,190 --> 00:12:36,420 당신은 같은 것을 처리 할 수​​ 있습니다 일반 파이썬 변수 245 00:12:36,420 --> 00:12:39,650 그래서 다음, 그것은 것입니다 안녕하세요 인쇄하고, 246 00:12:39,650 --> 00:12:42,000 사용하여 이름을 입력합니다 일부 문자열 형식. 247 00:12:42,000 --> 00:12:48,060 >> 그래서 라우팅에 변수 부분을 추가하려면, 당신은 표시 각도 브래킷을 사용합니다. 248 00:12:48,060 --> 00:12:51,220 그리고 선택적으로 사용할 수 있습니다 무엇 컨버터라고. 249 00:12:51,220 --> 00:12:56,840 그래서, 당신은이를 넣어 경우 콜론 주석, 250 00:12:56,840 --> 00:13:00,015 당신은 그것의 지정할 수 있습니다 INT, 또는 부동 소수점, 또는 경로, 251 00:13:00,015 --> 00:13:01,640 그것은 자동으로 변환합니다. 252 00:13:01,640 --> 00:13:05,130 또한 변환을 수행 할 수 있습니다 파이썬 함수 내, 253 00:13:05,130 --> 00:13:09,710 그냥 캐스트를 사용하여,하지만 때로는 경우 당신은 INT의 수 있도록하려면, 254 00:13:09,710 --> 00:13:12,080 당신은 넣을 수 있습니다 거기에 변환 규칙. 255 00:13:12,080 --> 00:13:15,930 >> 그럼 예를 당겨 보자 일부 변수 규칙. 256 00:13:15,930 --> 00:13:21,480 그래서 여기,이 기본 같은이 플라스크 가져 오기에서와 구조 257 00:13:21,480 --> 00:13:25,030 플라스크, 응용 프로그램 = 플라스크 (_NAME_) 그리고, 그것은 끝에 달리고. 258 00:13:25,030 --> 00:13:28,050 우리는이 두 가지가 여기에 변수 경로. 259 00:13:28,050 --> 00:13:29,900 그리고 첫 번째이고, 내가 보여준 하나 260 00:13:29,900 --> 00:13:34,230 이었다 슬라이드에서 그냥 문자열 이름에 소요 261 00:13:34,230 --> 00:13:35,650 그리고, 이름 안녕을 인쇄합니다. 262 00:13:35,650 --> 00:13:41,410 >> 다음, 두 번째 하나는 변환을 사용합니다. 263 00:13:41,410 --> 00:13:44,690 그래서이 자동으로 변환됩니다 int로, 다음, INT을 두 배로 264 00:13:44,690 --> 00:13:46,150 그를 인쇄 할 수 있습니다. 265 00:13:46,150 --> 00:13:48,220 그리고, 우리는 모든 종류의 작업을 수행하지 않습니다 그 안에 변환 266 00:13:48,220 --> 00:13:49,594 플라스크가 돌봐 때문이다. 267 00:13:49,594 --> 00:13:53,181 그래서이 실행하자. 268 00:13:53,181 --> 00:13:54,930 당신은 플라스크가있는 경우 응용 프로그램을 실행, 269 00:13:54,930 --> 00:13:58,440 당신은 그것의-C를 제어 할 수 있습니다 서버가 실행을 중지합니다. 270 00:13:58,440 --> 00:14:02,420 그리고 나는 변수를 실행합니다. 271 00:14:02,420 --> 00:14:11,740 >> 그럼 로컬 호스트 / 인사 / 에즈라로 이동하자 희망이 나에게 인사를한다. 272 00:14:11,740 --> 00:14:14,530 273 00:14:14,530 --> 00:14:20,310 >> 그래서 변수에 내 이름으로했다 경로, 그리고 여기에 가득. 274 00:14:20,310 --> 00:14:23,950 그래서 나는 또한 빠른 보여주지 두 배의 예. 275 00:14:23,950 --> 00:14:28,600 그래서 3 / 더블 /로 이동하는 경우, 그것은 6을 출력합니다. 276 00:14:28,600 --> 00:14:31,440 그래서이 처리했다 우리의 전환. 277 00:14:31,440 --> 00:14:34,190 >> 그래서 당신은 또한 함께 할 수 있습니다 플로트, 그리고 뭔가 특별한, 278 00:14:34,190 --> 00:14:37,530 당신이 뭔가를 지정해야하는 경우 이 슬래시를 수용 할 수있는 경로, 279 00:14:37,530 --> 00:14:39,155 하지만 일반적으로 문제가되지 않을 것이다. 280 00:14:39,155 --> 00:14:41,480 281 00:14:41,480 --> 00:14:43,820 지금까지 우리는 여전히이 다만 반환 된 282 00:14:43,820 --> 00:14:46,320 매우 흥미없는 문자열. 283 00:14:46,320 --> 00:14:48,730 >> 우리는 실제로 반환 할 수 있습니다 문자 HTML 문자열. 284 00:14:48,730 --> 00:14:54,322 그래서 코드에서 우리는 뭔가를 삽입 할 수 있습니다 B-태그가 굵게하려면, 285 00:14:54,322 --> 00:14:56,030 그러나 대부분의 시간을 당신에게 실제로 싶지 않아 286 00:14:56,030 --> 00:14:58,420 HTML 코드를 작성 할 수 파이썬 코드에서. 287 00:14:58,420 --> 00:15:01,940 그것은 정말 지저분 도착 그것은 좋은 시간이 아니다. 288 00:15:01,940 --> 00:15:06,430 >> 플라스크는 우리가 밖으로 분리 할 수​​ 있습니다 템플릿이라고 무엇에 HTML, 289 00:15:06,430 --> 00:15:09,467 만약 그렇다면 당신이 생각하고 MVC 모델의 관점에서 290 00:15:09,467 --> 00:15:11,550 당신이 잘 알고 있음, 희망, 작동 291 00:15:11,550 --> 00:15:15,520 CS50 금융과 조금, 당신은 파이썬 파일을 생각할 수 292 00:15:15,520 --> 00:15:19,430 컨트롤러, 더 인 것으로 그들은 어떤와 상호 작용 293 00:15:19,430 --> 00:15:20,970 당신이있을 수 있습니다 데이터 모델. 294 00:15:20,970 --> 00:15:24,900 >> 그리고 그들은보기로 부르고있다 그보기로 정보를 전달 295 00:15:24,900 --> 00:15:28,120 정보를 입력합니다 HTML에서 그것은 필요가있는. 296 00:15:28,120 --> 00:15:30,490 그리고 우리는 그 조회수를 부르는 클래스 템플릿입니다. 297 00:15:30,490 --> 00:15:35,280 >> 그래서 플라스크는 다른 파이썬을 사용 모듈이 자동 것 298 00:15:35,280 --> 00:15:38,620 설치 핍 때 설치 플라스크 신사를 호출하는 299 00:15:38,620 --> 00:15:40,885 당신은이를 추가 할 수 있습니다 HTML에 주석 300 00:15:40,885 --> 00:15:45,140 화면에 표시되는 것으로, 그 수 당신은, 조건문 같은 것들에 넣어 301 00:15:45,140 --> 00:15:47,230 그리고 HTML로 반복합니다. 302 00:15:47,230 --> 00:15:51,140 >> 그래서 그 방법처럼 조금 보이는 HTML 파일 내에 PHP를 사용할 수도 303 00:15:51,140 --> 00:15:57,380 그러나 이것은 바로 그 때 플라스크입니다 서버는 HTML 파일을 제공 304 00:15:57,380 --> 00:16:01,610 그것은이 템플릿 엔진을 실행하고 이 구문 분석과에서 일을 입력합니다. 305 00:16:01,610 --> 00:16:06,650 그래서 플라스크 render_template 기능을 갖는다 여기 하단에 볼 수있다. 306 00:16:06,650 --> 00:16:14,300 그래서 당신은 그것을이 페이지를 방문 할 때 이 hello.html 템플릿을 렌더링 것이다, 307 00:16:14,300 --> 00:16:16,407 다음이 HTML 페이지에 입력합니다. 308 00:16:16,407 --> 00:16:18,990 그래서 그냥이 현실을 실행할 수 신속하고 모양이 어떻게되는지 확인합니다, 309 00:16:18,990 --> 00:16:21,198 그리고, 나는 통과 할 것이다 자세한 세부 사항에서 조금. 310 00:16:21,198 --> 00:16:25,380 311 00:16:25,380 --> 00:16:30,260 그래서, 당신의 템플릿 가고있다 템플릿 폴더에 이동합니다. 312 00:16:30,260 --> 00:16:33,980 그것은 자동으로 내 볼 것이다 템플릿은 템플릿 폴더. 313 00:16:33,980 --> 00:16:35,615 그럼이를 열 수 있습니다. 314 00:16:35,615 --> 00:16:47,350 315 00:16:47,350 --> 00:16:50,005 그래서, 템플릿 예제를 실행합니다. 316 00:16:50,005 --> 00:16:52,820 317 00:16:52,820 --> 00:17:03,660 >> 그래서 / 인사 / 에즈라에 가면, 그것은이 끔찍한있다, 318 00:17:03,660 --> 00:17:05,930 내가 넣어 독이 윤곽 태그입니다. 319 00:17:05,930 --> 00:17:08,050 아주 좋은, 매우 역동적. 320 00:17:08,050 --> 00:17:09,349 나는 큰 팬이에요. 321 00:17:09,349 --> 00:17:13,900 그러나이 경우 발생 난 그냥, / 안녕하세요로 이동? 322 00:17:13,900 --> 00:17:15,220 그래서 그냥 안녕하세요 말한다. 323 00:17:15,220 --> 00:17:17,678 나는 이름을 통과하지 않고 그것은 자동으로 채워. 324 00:17:17,678 --> 00:17:22,050 그래서 그것을 어떻게했는지 보자, 어떻게 우리는 어쩌면 그 윤곽을 제거 할 수있다. 325 00:17:22,050 --> 00:17:26,240 >> 그래서 여기,이 종류의 것입니다 의 흥미로운 예를 들어, 326 00:17:26,240 --> 00:17:29,101 어떻게 스위치에 익숙한 경우 문은 언어로 작동합니다. 327 00:17:29,101 --> 00:17:31,350 이 같은 종류의 것입니다 말 를 통해 가을의 종류, 328 00:17:31,350 --> 00:17:34,266 여기서 당신은 실제로 두 개의 부착 동일한 기능의 다른 경로. 329 00:17:34,266 --> 00:17:41,190 그래서 우리는 / 안녕하세요 경로를 첨부 안녕하세요에 / 인사 / 이름 경로, 330 00:17:41,190 --> 00:17:45,130 파이썬은 다음을 수행 할 수 있습니다 using-- 우리는 지정 기본 기능 arguments--를 지정 331 00:17:45,130 --> 00:17:48,300 그래서 이름이 그래서 존재하지 않는 경우 우리가 가면 그냥 / 안녕하세요, 332 00:17:48,300 --> 00:17:50,680 자동으로 필터링됩니다 이름 없음과 같다. 333 00:17:50,680 --> 00:17:55,010 >> 그럼, 우리는 렌더링 이름 = 이름을 가진 템플릿, 334 00:17:55,010 --> 00:17:59,510 그래서 이름을 매개 변수로 전달됩니다 이 이름의 함수 매개 변수와 동일, 335 00:17:59,510 --> 00:18:00,730 템플릿에. 336 00:18:00,730 --> 00:18:04,040 얼마나 그것은 여전히​​ 설명하지 않습니다 안녕하세요 인쇄 여부를 결정, 337 00:18:04,040 --> 00:18:05,100 또는 내 이름을 인쇄 할 수 있습니다. 338 00:18:05,100 --> 00:18:08,050 그래서 실제로 살펴 보자 템플릿 자체에, 339 00:18:08,050 --> 00:18:11,610 그리고 그 어디에서 오는 참조하십시오. 340 00:18:11,610 --> 00:18:18,680 >> 그래서,이 템플릿 내에서, 우리 실제로 일부 조건부 논리를 가지고, 341 00:18:18,680 --> 00:18:20,580 이는 어떤 사람들은 것 주장, 당신이 실제로 342 00:18:20,580 --> 00:18:23,730 조건을 많이하지 말았어야 템플릿 자체 내에서 논리. 343 00:18:23,730 --> 00:18:26,310 그것은 내 더해야 컨트롤러하지만,이 예를 들어, 344 00:18:26,310 --> 00:18:27,476 그것은 아주 작은 뭔가. 345 00:18:27,476 --> 00:18:31,060 이름 경우 그래서 여기, 우리는 그렇게, 확인 만약 이름이 없음 동일하지 않은, 346 00:18:31,060 --> 00:18:33,130 이름은 실제로이면 다음, 우리는 것입니다 전달 347 00:18:33,130 --> 00:18:36,210 와 이름, 인사 헤더와 천막, 348 00:18:36,210 --> 00:18:41,490 이 모든 일반 HTML, 그렇지 않으면, 우리는 것 안녕하세요 인쇄, 세계 다만 보통. 349 00:18:41,490 --> 00:18:45,820 그래서 몇 가지가 여기주의 사항 당신이 템플릿을 포맷하는 방법에 대한, 350 00:18:45,820 --> 00:18:49,110 이들의 모든입니다 조건문, 351 00:18:49,110 --> 00:18:54,475 종류의 같은 우리가 때를 PHP 방법 당신은 몇 가지 PHP를 삽입 할, 352 00:18:54,475 --> 00:18:58,380 당신은 덜보다 사용하기 질문 마크, 여기 종류의 유사한이다 353 00:18:58,380 --> 00:19:00,140 {%와. 354 00:19:00,140 --> 00:19:02,130 >> 그래서 여기, 우리는 우리의 조건 코드를 가지고있다. 355 00:19:02,130 --> 00:19:05,920 그리고, 당신은 실제로 원하는 경우 말 그대로 뭔가를 평가하고, 인쇄 356 00:19:05,920 --> 00:19:08,710 화면에 그것을 밖으로, 당신 이중 중괄호를 사용한다. 357 00:19:08,710 --> 00:19:12,310 그래서 여기에 이​​중 중괄호가, 그리고, 우리는 이름을 지정, 358 00:19:12,310 --> 00:19:15,500 그 안에 그래서, 평가합니다 변수 이름에있는 359 00:19:15,500 --> 00:19:18,860 에서 전달 템플릿 기능을 렌더링 360 00:19:18,860 --> 00:19:21,484 오히려 바로 인쇄보다 밖으로, 우리는이 제거되었다 경우, 361 00:19:21,484 --> 00:19:23,150 그냥 단어 인쇄 것 "이름을." 362 00:19:23,150 --> 00:19:26,340 그래서, 그 조심하는 뭔가. 363 00:19:26,340 --> 00:19:29,792 >> 그래서 다른 일에 통지는 때를, 그 364 00:19:29,792 --> 00:19:31,500 를 사용하려면 render_template 기능, 365 00:19:31,500 --> 00:19:34,490 우리는 실제로 가져가 그것은 명시 적으로 플라스크에서. 366 00:19:34,490 --> 00:19:36,915 그리고 이것은의 예입니다 플라스크의 모듈화, 367 00:19:36,915 --> 00:19:39,290 당신은 가져올 필요가 없습니다 필요하지 않은 것들. 368 00:19:39,290 --> 00:19:41,290 당신은 가져올 수 있습니다 기능 실제로 369 00:19:41,290 --> 00:19:43,450 때때로, 이는 필요합니까 좋은, 그래서 당신은하지 않습니다 370 00:19:43,450 --> 00:19:46,560 이러한 모든 기능을 가져야 당신이 사용하지 않는 것을 주위에 앉아 371 00:19:46,560 --> 00:19:49,730 뿐만 아니라, 당신은 당신을 잊지 경우 render_template을 가져와야합니다, 372 00:19:49,730 --> 00:19:52,660 당신은 아마 경고를 얻을 수 있습니다 그건 당신이 그것에 대해 알려드립니다. 373 00:19:52,660 --> 00:19:56,700 그래서, 그 템플릿입니다. 374 00:19:56,700 --> 00:20:01,680 >> 그래서, 우리는 방법을 보여 주었다 간단한 웹 페이지를 만들 375 00:20:01,680 --> 00:20:04,947 과에 조금 더 로직을 추가 이는, 가변 라우팅 환산. 376 00:20:04,947 --> 00:20:08,280 그것은 당신이에 따라 서로 다른 일을 할 수 있습니다 당신이 다음도에 가서, URL, 제공 377 00:20:08,280 --> 00:20:11,950 에서 HTML 조금 더 의미 당신이 일을 렌더링하는 방법의 측면. 378 00:20:11,950 --> 00:20:14,210 당신은 모든 넣을 필요가 없습니다 파이썬에서 HTML, 379 00:20:14,210 --> 00:20:16,640 하지만 거의위한 모든 웹 응용 프로그램, 380 00:20:16,640 --> 00:20:21,480 당신은 어떤 종류를 원하는거야 데이터 모델과 연관된. 381 00:20:21,480 --> 00:20:25,560 >> 그래서 전통적으로,이 것 SQL 데이터베이스와 같은 뭔가. 382 00:20:25,560 --> 00:20:30,280 그리고 당신은 상호 작용할 수 있습니다 직접 SQL을. 383 00:20:30,280 --> 00:20:32,190 파이썬은,이 나는 그것이라고 생각합니다. 384 00:20:32,190 --> 00:20:33,040 SQLite는 3. 385 00:20:33,040 --> 00:20:38,454 당신은 그냥 SQLite는 3를 가져올 수 있으며, 직접 SQL 쿼리를 실행, 386 00:20:38,454 --> 00:20:40,870 하지만 난 당신에 대해 알고하지 않습니다, 하지만 난 정말, 그냥 싫어 387 00:20:40,870 --> 00:20:42,750 SQL 쿼리를 작성하는. 388 00:20:42,750 --> 00:20:45,350 정말 얻​​을하는 경향이있다 길고 복잡한. 389 00:20:45,350 --> 00:20:49,180 >> 그래서, 뭔가 그 내가 사용하는 것이 무엇처럼 390 00:20:49,180 --> 00:20:53,610 인 ORM로 알려진 객체 - 관계형 매핑. 391 00:20:53,610 --> 00:20:56,890 그리고 지점 객체 관계형 매핑, 392 00:20:56,890 --> 00:21:00,100 두 개의 서로 다른 있다는 것입니다 방법은 당신이 데이터베이스에 대해 생각할 수 있습니다. 393 00:21:00,100 --> 00:21:03,240 >> 예 그래서 교수 마란 보통 394 00:21:03,240 --> 00:21:07,660 클래스에서 사용 엑셀 테이블이며, 이러한 행과 이러한 열을 가지고, 395 00:21:07,660 --> 00:21:10,210 그것은 정말 유용 그것은 SQL로 표현하는 방법 396 00:21:10,210 --> 00:21:13,170 당신이 그것을와 상호 작용하는 방법,하지만 실제로의 또 다른 방법 397 00:21:13,170 --> 00:21:16,390 때로는 그것에 대해 생각하는 데 유용합니다, 클래스와 객체의 관점에서입니다. 398 00:21:16,390 --> 00:21:20,420 >> 그래서 그 대신 사고 각 테이블의 것으로 399 00:21:20,420 --> 00:21:23,040 특정가이 행 정보, 당신은 실제로 수 400 00:21:23,040 --> 00:21:26,100 존재로 생각 각 테이블은 클래스, 401 00:21:26,100 --> 00:21:29,810 의 다음 모든 인스턴스 클래스는 특정 속성을 가지고있다. 402 00:21:29,810 --> 00:21:35,110 그렇게,이 예에서는, 인스턴스 클래스 표에서의 행이며, 403 00:21:35,110 --> 00:21:37,490 다음 각 속성은 것 테이블의 열 수. 404 00:21:37,490 --> 00:21:40,840 >> 그래서, 내가 좋아하는 ORM peewee라고 사용합니다. 405 00:21:40,840 --> 00:21:43,520 그것은 일종의 플라스크처럼, 정말 작다. 406 00:21:43,520 --> 00:21:46,760 나는 그들이 함께 잘 갈 생각, 하지만 다른 ORM들을 많이있다 407 00:21:46,760 --> 00:21:47,730 당신이 사용할 수있다. 408 00:21:47,730 --> 00:21:52,180 인기 하나는 SQLAlchem​​y도 알려져, 409 00:21:52,180 --> 00:21:56,050 나는 왜 내가 원래 기억이 안나요 SQLAlchem​​y도 이상 peewee를 선택 410 00:21:56,050 --> 00:21:58,311 또는 내가 왜 말 것 그것이 최선의 하나라고 생각, 411 00:21:58,311 --> 00:22:01,060 그러나 우리는이를 사용하는거야 하나는 내가 그것을 사용하는 방법을 알고 있기 때문이다. 412 00:22:01,060 --> 00:22:04,760 >> 따라서, 하나의 질문은, 왜 당신이 ORM을 사용하여 귀찮게한다, 413 00:22:04,760 --> 00:22:07,552 대신 직접의 SQL 쿼리를 작성? 414 00:22:07,552 --> 00:22:09,760 그리고 최상의 경우를 생각한다 당신이 실제로 없다는 것입니다 415 00:22:09,760 --> 00:22:11,356 SQL 쿼리를 작성해야합니다. 416 00:22:11,356 --> 00:22:14,480 나는 당신을 보여줄 것 같은 그것은에, 훨씬 쉽게 선택과 같은 일을, 삽입, 417 00:22:14,480 --> 00:22:16,157 삭제, 특히 테이블을 생성. 418 00:22:16,157 --> 00:22:17,990 그것은 훨씬 쉽게 클래스 구조를 작성, 419 00:22:17,990 --> 00:22:22,250 이 구조화보다 만들기 표 문,하지만 한 가지 420 00:22:22,250 --> 00:22:25,710 , 알고있을 것입니다 ORM은 최선을 다할 것입니다 421 00:22:25,710 --> 00:22:28,640 알아 내기 위해 무엇을 가장 효율적인 SQL 쿼리는 것 422 00:22:28,640 --> 00:22:30,110 하지만 때로는 그것이 잘못 가져옵니다. 423 00:22:30,110 --> 00:22:32,660 >> 그리고 당신이있어 특히 큰 데이터베이스 작업, 424 00:22:32,660 --> 00:22:35,557 당신은 쿼리 것을 알 수 있습니다 즉, 빠른 실행되어야한다 425 00:22:35,557 --> 00:22:36,640 실제로 더 많은 시간이 소요되고 있습니다. 426 00:22:36,640 --> 00:22:40,164 그리고 당신은 방법에 후드를 보면 ORM은, SQL로 그 해석된다 427 00:22:40,164 --> 00:22:42,080 이 일을 할 수 있습니다 정말 말도 안되는, 428 00:22:42,080 --> 00:22:44,371 그저 그것 때문에 당신의 의도가 잘못 몸짓. 429 00:22:44,371 --> 00:22:48,080 그리고, 시간이 어디있어왔다 나는 그것을 무시했고, 단지 한 430 00:22:48,080 --> 00:22:52,429 그냥 내 자신의 SQL 쿼리를 실행 그것은 이상한 방법으로 분석되었다 때문이다. 431 00:22:52,429 --> 00:22:54,220 그래서,이 몇 가지 다만 방법에서, 오버 헤드 432 00:22:54,220 --> 00:22:58,680 이 컴파일 당신의 SQL에 아래 문. 433 00:22:58,680 --> 00:23:06,200 >> 자,에 빨리 슈퍼 살펴 보자 데이터 모델의 간단한 예 434 00:23:06,200 --> 00:23:07,350 당신이 사용할 수있는. 435 00:23:07,350 --> 00:23:11,880 그래서,이 때문에 파이썬 코드하고, 당신이해야 할 첫 번째 일은에서입니다 436 00:23:11,880 --> 00:23:12,950 peewee 수입 *. 437 00:23:12,950 --> 00:23:15,850 그래서, 플라스크, 달리, 당신은 어디에 이러한 모든 개별 모듈, 438 00:23:15,850 --> 00:23:18,125 당신은 플라스크를 가져올하고, 템플릿, 일부 다른 사람을 쓰기 439 00:23:18,125 --> 00:23:20,690 우리가 나중에 볼 수 있습니다 즉, peewee에서, 당신은 모든 것을 가져올 수 있습니다 440 00:23:20,690 --> 00:23:22,290 때문에 꽤 작은 도서관이다. 441 00:23:22,290 --> 00:23:26,490 >> 그래서, 당신이해야 할 첫 번째 일이며, 실제로이 데이터베이스 개체를 만듭니다. 442 00:23:26,490 --> 00:23:31,212 그래서, 당신은 DB =위한 SQLiteDatabase, 다음 데이터베이스의 이름. 443 00:23:31,212 --> 00:23:33,170 그리고 이것은 실제로 것 데이터베이스 객체를 생성 444 00:23:33,170 --> 00:23:36,230 당신은 peewee와 상호 작용할 수있다. 445 00:23:36,230 --> 00:23:40,570 >> 다음, 우리가 실제 우리가 만들려는 모델. 446 00:23:40,570 --> 00:23:42,470 그래서 표는 우리가 만들려고합니다. 447 00:23:42,470 --> 00:23:47,270 그래서, peewee 내에서 각 클래스는있다 데이터베이스 내에서 자신의 테이블. 448 00:23:47,270 --> 00:23:52,800 그래서, 모든 클래스 기본 모델에서 상속, 449 00:23:52,800 --> 00:23:55,960 및 자본 M 모델입니다 peewee에 정의 뭔가. 450 00:23:55,960 --> 00:24:02,162 >> 그래서, 당신의 모든 모델은해야 가장 높은 상위 클래스로 상속, 451 00:24:02,162 --> 00:24:04,620 그들은 상속한다 모델,하지만 정말 멋진 것은, 452 00:24:04,620 --> 00:24:07,610 당신이 실제로 당신이 할 수 있다는 것입니다 모델은 서로로부터 상속. 453 00:24:07,610 --> 00:24:10,530 그리고 많은 시간, 당신의 데이터 모델은 반드시 그렇지 454 00:24:10,530 --> 00:24:13,754 좋은 상속 계층 구조를 만들지 만, 그들이 어디에서 시간, 그것은 정말 좋은 데요 455 00:24:13,754 --> 00:24:15,920 당신이 모델을 가지고 있기 때문에 서로 고유. 456 00:24:15,920 --> 00:24:19,710 >> 그래서 우리는이 클래스를 정의 모델을 상속 '학생', 457 00:24:19,710 --> 00:24:21,170 그것은 세 가지 속성이 있습니다. 458 00:24:21,170 --> 00:24:24,080 그것은 인 ID를 가지고 PrimaryKeyField, 어떤 459 00:24:24,080 --> 00:24:26,920 제공 뭔가입니다 peewee으로, 이름은 CharField입니다, 460 00:24:26,920 --> 00:24:28,490 및 등급 IntegerField이다. 461 00:24:28,490 --> 00:24:32,260 그래서이 또는하지 않을 수있다 방법 CS50 실제로 모든 저장 462 00:24:32,260 --> 00:24:33,650 학생들의 성적. 463 00:24:33,650 --> 00:24:36,060 그것은 아니지만, 이것은 내가 어떻게 할 것입니다. 464 00:24:36,060 --> 00:24:37,920 >> 그리고 그것은 내에서,이 이 클래스,이 465 00:24:37,920 --> 00:24:41,620 당신이 할 수있는 일입니다 파이썬, 당신은 중첩 된 클래스를 가질 수 있습니다. 466 00:24:41,620 --> 00:24:43,920 그리고 이것은 뭔가 그는 peewee 필요로합니다. 467 00:24:43,920 --> 00:24:47,250 그래서,이 클래스 메타, 당신은 데이터베이스가 있음을 지정합니다 468 00:24:47,250 --> 00:24:49,830 개체와 같은지 우리가 위에서 만든 그. 469 00:24:49,830 --> 00:24:54,339 그리고이 파일이 표가 무엇인지 말한다 실제로 함유 할 것. 470 00:24:54,339 --> 00:24:57,130 그래서 이것은 당신이 무엇인가이다 당신의 모든 모델 내에서 할 수 있습니다. 471 00:24:57,130 --> 00:24:59,380 당신은 지정해야 이 메타 클래스 내에서 472 00:24:59,380 --> 00:25:01,400 이 데이터베이스는 DB와 동일하다. 473 00:25:01,400 --> 00:25:03,940 내가 가지고 있다면 나는 보통, 무엇을 다른 모델의 무리, 474 00:25:03,940 --> 00:25:05,910 나는 하나의 기본을 가지고있다 모델, 나는 그 보통 475 00:25:05,910 --> 00:25:08,839 그냥 "기본 모델"전화 즉, 메타 클래스가, 476 00:25:08,839 --> 00:25:10,380 그리고 DB 동일한 데이터베이스를 설정한다. 477 00:25:10,380 --> 00:25:13,710 그리고 내 후속 모델의 모든 그 기본 클래스에서 상속합니다. 478 00:25:13,710 --> 00:25:16,760 그리고 나는 걱정할 필요가 없습니다 메타 클래스를 설정하는 방법에 대한. 479 00:25:16,760 --> 00:25:21,490 >> 그래서,이 실제로 얻을 때 SQL 문에 아래로 컴파일, 480 00:25:21,490 --> 00:25:24,875 그것은 다운이 심한 것 같습니다 여기에, "테이블 학생증 정수 만들기 481 00:25:24,875 --> 00:25:26,020 " 도대체 무엇이. 482 00:25:26,020 --> 00:25:30,002 >> 그리고, 나는 짧은 생각, 여기이 SQL 쿼리, 483 00:25:30,002 --> 00:25:32,960 하지만 당신은 여기에이 클래스를 보면 당신은 무슨 일을 정확히 볼 수 있습니다. 484 00:25:32,960 --> 00:25:36,116 당신은 필드의 어떤 종류를 볼 수 있습니다 그들이이라고하는지,있다, 485 00:25:36,116 --> 00:25:38,115 그래서, 나는 생각 이 파이썬 코드를보고 486 00:25:38,115 --> 00:25:43,340 보다 더 많은 읽을 수 있습니다 이 SQL 쿼리를 작성하려고합니다. 487 00:25:43,340 --> 00:25:45,990 >> 그래서,에 위해 실제로 데이터베이스를 사용, 488 00:25:45,990 --> 00:25:48,470 우리는 파이썬 내에서 연결해야합니다. 489 00:25:48,470 --> 00:25:52,770 그래서, 보통이라는 함수를 작성 두 가지 일을 initialize_db. 490 00:25:52,770 --> 00:25:54,880 그것은 데이터베이스에 걸리는 객체 DB과 491 00:25:54,880 --> 00:25:58,360 다만 열리는, 그 연결 데이터베이스에 대한 부분입니다. 492 00:25:58,360 --> 00:26:00,860 방금하지만 실행하는 경우 로컬 컴퓨터에 웹 사이트, 493 00:26:00,860 --> 00:26:04,320 그것은 걱정 슈퍼 큰 문제가되지 않습니다 연결 및 분리에 대한, 494 00:26:04,320 --> 00:26:06,885 그러나 당신이 실행하는 경우 웹 사이트에, 당신 495 00:26:06,885 --> 00:26:10,010 확실 할 때마다 사용자, 확인 할 그들이 밖으로 닫을 때, 그것은 연결 496 00:26:10,010 --> 00:26:12,270 웹 사이트, 그들은 있도록 분리 당신 연결하는 사람들의 무리가 없습니다 497 00:26:12,270 --> 00:26:14,480 데이터베이스에 한 번에. 498 00:26:14,480 --> 00:26:16,370 >> 그리고, 때 당신에게 데이터베이스에 연결, 499 00:26:16,370 --> 00:26:20,832 당신은 db.create_tables 호출 할 당신이 원하는 것을 위해 모델을 나열 500 00:26:20,832 --> 00:26:21,540 테이블을 만들 수 있습니다. 501 00:26:21,540 --> 00:26:23,950 그래서 여기에, 난 그냥 원하는 이 학생을 만듭니다. 502 00:26:23,950 --> 00:26:28,070 그리고, 중요한 것은,이다 안전 = 사실 대부분의 시간을 지정합니다. 503 00:26:28,070 --> 00:26:30,380 그래서이 문 할 것입니다 그것은 그 504 00:26:30,380 --> 00:26:33,580 테이블을 생성 학생 모델 만 505 00:26:33,580 --> 00:26:36,109 그 테이블은하지 않은 경우 이미 생성 된. 506 00:26:36,109 --> 00:26:37,400 즉, 무엇을 안전을 지정합니다. 507 00:26:37,400 --> 00:26:39,150 그래서 덮어 쓰지 않습니다 기존의 테이블, 508 00:26:39,150 --> 00:26:41,525 그것은 단지 새를 만듭니다 테이블이없는 존재하는 경우. 509 00:26:41,525 --> 00:26:45,090 그래서, 당신은 만들 수 있습니다 테이블은 한 번 SQL을 사용하여. 510 00:26:45,090 --> 00:26:49,410 그리고 그 데이터베이스 앉아있다 이 다음 각 시간에 연결 511 00:26:49,410 --> 00:26:52,450 하지만 그것은 단지에 일반적으로 좋다 이 create_tables 호출에 넣어, 512 00:26:52,450 --> 00:26:55,550 그래서, 혹시 삭제 경우 데이터베이스 때 웹을 실행 513 00:26:55,550 --> 00:26:57,960 응용 프로그램을 다시 그것을 다시 할 것이다. 514 00:26:57,960 --> 00:27:00,730 >> 그래서, 안전을 확인하십시오 사실로 지정, 515 00:27:00,730 --> 00:27:03,580 또는 당신은 당신의 데이터를 찾을 수 때마다 사방지고. 516 00:27:03,580 --> 00:27:06,380 그리고, 당신은 단지 호출 할 수 있습니다 설정 initialize_db 517 00:27:06,380 --> 00:27:09,820 연결 및 작성 테이블 필요한 경우. 518 00:27:09,820 --> 00:27:13,150 >> 따라서, 가장 일반적인 것은 당신이 원하는 것, 519 00:27:13,150 --> 00:27:15,920 또는 가장 일반적인 것 중의 하나, 실제로 물건을 삽입하는 것입니다 520 00:27:15,920 --> 00:27:17,170 데이터베이스에. 521 00:27:17,170 --> 00:27:19,430 그래서보다는이 필요 INTO 삽입 쓰기 522 00:27:19,430 --> 00:27:21,990 모두와 함께 문 지정된 값은, 523 00:27:21,990 --> 00:27:24,650 당신은 실제로 호출 할 수 있습니다 학생 클래스의 기능. 524 00:27:24,650 --> 00:27:28,200 그래서, 당신은 클래스를 만들 때 즉, 모델에서 상속 525 00:27:28,200 --> 00:27:30,200 그것은이 방법을 만들 수 있습니다. 526 00:27:30,200 --> 00:27:33,870 >> 그래서, 당신은 클래스 name.create을, 당신은 매개 변수를 지정 527 00:27:33,870 --> 00:27:35,260 당신은 전달하려는. 528 00:27:35,260 --> 00:27:39,200 그래서, 일부 학생을 추가하려면 우리의 CS50 학년 책 예, 529 00:27:39,200 --> 00:27:41,820 나는 누가이 다윗에 놓을 게요 아주 좋은 등급, 그는 95있다. 530 00:27:41,820 --> 00:27:45,100 그리고 나 자신, 누가 일을 아니에요 잘 CS50에, 나는 50이있다. 531 00:27:45,100 --> 00:27:47,600 그리고, 좋은 점에 대한 이 생성 기능이 무엇을, 532 00:27:47,600 --> 00:27:53,040 이 인스턴스를 반환, 또는이다 행은 테이블 내에 생성 것을 533 00:27:53,040 --> 00:27:55,750 그래서 당신은에 그 저장 변수, 나중에 작업 할 수 있습니다. 534 00:27:55,750 --> 00:27:58,830 당신은 주위에 변경할 수있는 나는의 예를 보여 드리겠습니다. 535 00:27:58,830 --> 00:28:03,050 >> 내가하지 않았다는 것을 알 수 있습니다 ID를 지정해야합니다, 536 00:28:03,050 --> 00:28:09,340 이 때문에 때문에 PrimaryKeyField, 자동 것 537 00:28:09,340 --> 00:28:10,930 당신이 그것을 지정하지 않은 경우를 증가. 538 00:28:10,930 --> 00:28:12,250 그리고, 사실, 아마 를 지정하지 않아야합니다, 539 00:28:12,250 --> 00:28:14,810 실수로 수 있기 때문에 누군가 다른 사람의 ID를 소지품. 540 00:28:14,810 --> 00:28:16,830 그리고 당신은 만들고 싶어 이 고유의 있는지 확인하십시오. 541 00:28:16,830 --> 00:28:20,662 >> 그래서, 실제로, 대부분의 당신이 원하는 공통적 인 것은, 542 00:28:20,662 --> 00:28:22,620 아마 밖으로 선택한다 당신이 한 번 데이터베이스 543 00:28:22,620 --> 00:28:24,078 거기에 많은 정보를 가지고있다. 544 00:28:24,078 --> 00:28:27,360 그래서, 당신은 모든 것을 얻으려면, 그래서 선택 별의 동등한 545 00:28:27,360 --> 00:28:30,940 학생들 문에서, 그것을 다만 student.select 것입니다. 546 00:28:30,940 --> 00:28:34,380 그리고 그 배열을 당신을 다시 줄 것이다 학생 모두가 그 안에 객체 547 00:28:34,380 --> 00:28:35,770 당신이 반복하는 것이 당신이 원하는. 548 00:28:35,770 --> 00:28:37,019 당신은 그것의 일을 얻을 수 있습니다. 549 00:28:37,019 --> 00:28:39,310 대부분의 시간, 당신 단지 선택하고 싶지 않아, 550 00:28:39,310 --> 00:28:40,935 당신은 실제로 뭔가를 지정합니다. 551 00:28:40,935 --> 00:28:44,580 그래서, 당신은 체인 수 함께 이러한 함수 호출, 552 00:28:44,580 --> 00:28:48,830 어떻게 체인 같은 것 SQL에서 함께 문. 553 00:28:48,830 --> 00:28:53,002 그래서 당신은) (student.select을 수행 할 수 있습니다. 여기서 이 예에서. 554 00:28:53,002 --> 00:28:54,710 그리고, 당신은 할 수 , 조건을 지정 555 00:28:54,710 --> 00:28:57,880 다만 일반 파이썬을 사용하여 부울 물건을 확인합니다. 556 00:28:57,880 --> 00:29:02,110 >> 그래서,이 경우에, 당신은 원하는 , 당신이 선택하는지 제한 557 00:29:02,110 --> 00:29:06,790 student.grade 50 동일이고, 과 student.name는 에스라와 동일 558 00:29:06,790 --> 00:29:09,130 그래서 그냥 밖으로 저를 얻을 것이다. 559 00:29:09,130 --> 00:29:11,340 그리고 정말, 하나를 발견 미묘한 것은 여기에있다 560 00:29:11,340 --> 00:29:15,570 지정하려는 경우, 그 및 / 또는 및 / 또는 또는, 561 00:29:15,570 --> 00:29:19,840 파이썬에서, 당신은 일반적으로 사용하는 것입니다, 나는 단어 "와"실제로 생각 562 00:29:19,840 --> 00:29:23,351 그러나 여기에서 당신은 하나의 앰퍼샌드를 사용, 이는 일반적으로 비트 연산자입니다, 563 00:29:23,351 --> 00:29:25,600 그러나이 특별한 경우에, 다만 방법의 peewee는 않습니다, 564 00:29:25,600 --> 00:29:27,660 당신은 하나를 사용 앰퍼샌드 지정 "와."하는 565 00:29:27,660 --> 00:29:29,451 즉, 뭔가 그 나는 많은 혼동, 566 00:29:29,451 --> 00:29:32,530 하지만가 나타나지 않습니다 실제로 그 정도. 567 00:29:32,530 --> 00:29:36,350 >> 그리고, 한 번 당신은 모두가 데이터베이스 중 학생들, 568 00:29:36,350 --> 00:29:39,420 작업을 완료 한 후에는 선택이야 당신의 마모 또는 무엇이든, 569 00:29:39,420 --> 00:29:42,334 당신은 foreach 루프를 사용할 수 있습니다, 다만, 파이썬에서 정상 등 570 00:29:42,334 --> 00:29:44,500 반복자의 종류와 또는 배열의 종류와. 571 00:29:44,500 --> 00:29:46,333 그래서 당신은 초 동안, 할 수있다 student.select에 (). 갔지 572 00:29:46,333 --> 00:29:52,930 (Student.grade <75), 그리고 그래서이 뜻을 다시 테이블의 각 학생을 반복 573 00:29:52,930 --> 00:29:56,260 그 등급은, 이하 75 인 이 경우, 여전히 날입니다. 574 00:29:56,260 --> 00:29:59,218 그리고 당신은 내 일을 할 수 그 루프는 같은 나에게 이메일을 보내 575 00:29:59,218 --> 00:30:01,680 나 사실을을에게 내 문제 설정에서 설정합니다. 576 00:30:01,680 --> 00:30:04,550 >> 그래서, 또 다른 한가지는 당신이 할 수 할, 정말 쉽게입니다 577 00:30:04,550 --> 00:30:06,460 테이블 내에서 행을 업데이트합니다. 578 00:30:06,460 --> 00:30:08,720 그래서, 여기에 다시 기억, 당신의 내가 삽입, 579 00:30:08,720 --> 00:30:11,440 나는이었다 값을했다 student.create에 의해 반환, 580 00:30:11,440 --> 00:30:14,920 나는 에스라라는 이름으로 지정. 581 00:30:14,920 --> 00:30:18,995 그리고 지금, 당신은 변경할 수 있습니다 해당 인스턴스 내의 값, 582 00:30:18,995 --> 00:30:20,870 단지 같은 당신 것 파이썬에서 일반 클래스입니다. 583 00:30:20,870 --> 00:30:25,060 >> 그래서 사용자가 설정할 수 ezra.grade = 95 즉, 로컬 복사본을 업데이트 할 것입니다, 584 00:30:25,060 --> 00:30:28,380 하지만 당신은 실제로 원하는 경우 데이터베이스에 그 변경 사항을 커밋, 585 00:30:28,380 --> 00:30:31,410 당신은 ezra.save를 호출해야 그래서 당신은 .save 방법이라고 586 00:30:31,410 --> 00:30:32,650 인스턴스. 587 00:30:32,650 --> 00:30:38,085 >> 그리고 지금, 나는 성공적으로 변경 데이터베이스 내에서 내 자신의 등급. 588 00:30:38,085 --> 00:30:41,210 그래서, 다음의 내가 잡힐 것을 가정 해 봅시다 데이터베이스 내에서 내 등급을 변경. 589 00:30:41,210 --> 00:30:44,126 교수 마란 아마 것입니다 클래스에서 저를 삭제할합니다, 590 00:30:44,126 --> 00:30:48,630 그래서 당신은 .delete를 호출 할 수 있습니다 단지 그 일에 인스턴스 방법. 591 00:30:48,630 --> 00:30:51,674 >> 당신이 원하는 경우에 따라서, 이동 다시이 루프에 여기에, 592 00:30:51,674 --> 00:30:53,465 실제로, 대신 모든 이메일을 보내는 593 00:30:53,465 --> 00:30:56,577 학생들의 그 등급 이하 (75)보다, 당신이 그들을 삭제하고 싶었다, 594 00:30:56,577 --> 00:30:58,660 이 루프에서 당신은 할 수 s.delete 인스턴스를 호출합니다. 595 00:30:58,660 --> 00:31:04,180 596 00:31:04,180 --> 00:31:07,780 그리고 당신이 원하는 바로 그 마지막, 연결을 설정할 때마다 인, 597 00:31:07,780 --> 00:31:10,350 당신은, 당신의 일에 완료 당신은 db.close 호출 할 598 00:31:10,350 --> 00:31:13,190 여기서 DB는 데이터베이스입니다 우리가 전에했다 객체. 599 00:31:13,190 --> 00:31:18,290 그리고 당신은이 있는지 확인하려면 모든 것이 밖으로 폐쇄됩니다. 600 00:31:18,290 --> 00:31:18,790 >> 시원한. 601 00:31:18,790 --> 00:31:22,410 그래서 지금, 나는 예제 응용 프로그램이 있습니다. 602 00:31:22,410 --> 00:31:26,880 나는 종류의 모든 걸 사전했습니다 그래서 상관 라이브 코딩이되지 않습니다 603 00:31:26,880 --> 00:31:30,220 실수,하지만 우리는을 통해 걸을 수 그것과는 플라스크를 넣어하는 방법을 참조 604 00:31:30,220 --> 00:31:33,685 함께 peewee, 간단한 응용 프로그램을 확인합니다. 605 00:31:33,685 --> 00:31:38,680 나는 CS50의 호언 장담을 호출, 그것은이다 간단한 블로그 플랫폼의 종류. 606 00:31:38,680 --> 00:31:41,150 >> 그래서, 먼저, 나는 그것을 실행거야, 그리고 그것이 어떻게 생겼는지 보여 607 00:31:41,150 --> 00:31:42,890 그리고, 우리는 코드에 더 많은 볼 수 있습니다. 608 00:31:42,890 --> 00:32:00,470 609 00:32:00,470 --> 00:32:02,830 좋아, 그냥이를 실행 할 수 있습니다. 610 00:32:02,830 --> 00:32:14,040 611 00:32:14,040 --> 00:32:17,250 ,이 쿨 만들어 줄게 조금 작은. 612 00:32:17,250 --> 00:32:20,000 그냥 때문이 아니라 아주 예쁜입니다 나는, CSS를 많이하지 않았다 613 00:32:20,000 --> 00:32:23,255 하지만 무엇을 그것은 가지고 있습니다 블로그 게시물의 데이터베이스, 614 00:32:23,255 --> 00:32:25,630 그리고 그것은 모두 통과 그들, 그리고 그것들을 표시 615 00:32:25,630 --> 00:32:28,170 가장 최근의 순서로 페이지에. 616 00:32:28,170 --> 00:32:30,920 그리고 이건 그냥 몇 가지 게시물이 I는 데이터베이스에 저장했다고. 617 00:32:30,920 --> 00:32:35,680 >> 우리는 새로운을 만들려면 이렇게 이후, 우리는 새 게시물을 추가로 이동 할 수 있습니다 618 00:32:35,680 --> 00:32:42,720 그리고 우리는의 제목을 입력 할 수 있습니다 포스트, 그래서 뭔가 같은, CS50 세미나. 619 00:32:42,720 --> 00:32:45,360 620 00:32:45,360 --> 00:32:46,735 와우, 정말 세미나를 즐기고. 621 00:32:46,735 --> 00:32:51,070 622 00:32:51,070 --> 00:32:52,270 >> 시원한. 623 00:32:52,270 --> 00:32:56,060 그런 다음 게시물을 누르면, 그것은 것입니다 홈 페이지로 다시 리디렉션, 624 00:32:56,060 --> 00:33:00,039 그리고 당신은 그것을 볼 수 있습니다 최신 게시물이 추가되었습니다. 625 00:33:00,039 --> 00:33:01,580 그리고 우리는 여전히 모든 사람이있다. 626 00:33:01,580 --> 00:33:08,080 그래서 지금의이 모든 단계별로하자 코드와이 구현하는 방법을 참조하십시오. 627 00:33:08,080 --> 00:33:11,995 >> 그래서,하자 제일 먼저 생각 실제로 모델입니다 좀 봐. 628 00:33:11,995 --> 00:33:14,120 많은 시간, 때 당신이 뭔가를 설계하고, 629 00:33:14,120 --> 00:33:17,036 당신은 방법에 대해 먼저 생각하고 싶지 당신은, 당신의 데이터를 대표하는거야 630 00:33:17,036 --> 00:33:22,915 그리고 그 주위에 물건을 설계, 그래서 그 모든 것이 의미가 있습니다. 631 00:33:22,915 --> 00:33:25,290 그리고 내가 어떻게이 실제로 나는이 제작되었을 때, 그것을했다 632 00:33:25,290 --> 00:33:28,030 나는 앉아서 생각 나는 게시물에 무엇을 원하는가. 633 00:33:28,030 --> 00:33:32,130 >> 그래서, 여기에서는 동일한 구조를 갖는다 앞서 언급되었다, 634 00:33:32,130 --> 00:33:33,755 우리는 DB = Sqldatabase ( 'posts.db')를 수행한다. 635 00:33:33,755 --> 00:33:37,840 636 00:33:37,840 --> 00:33:40,980 실제로, 당신은 아마 싶지 않아 당신의 이름의 데이터베이스의 하드 코드. 637 00:33:40,980 --> 00:33:43,730 그건 아마 매개 변수해야 그것은 아마, 어딘가에 저장되어 638 00:33:43,730 --> 00:33:45,940 설정 파일에 있지만에서 이 같은 작은 예를 들어, 639 00:33:45,940 --> 00:33:48,310 그것은 그 하드 코드 괜찮습니다. 640 00:33:48,310 --> 00:33:53,510 >> 그래서 지금, 우리는이 게시물 클래스가, 이는 기본 모델에서 상속됩니다. 641 00:33:53,510 --> 00:33:56,930 그리고 다시,이 ID = PrimaryKeyField. 642 00:33:56,930 --> 00:34:02,250 사실, 당신은 지정하지 않은 경우, 나는 실제로이 제거되었다 경우, 643 00:34:02,250 --> 00:34:07,152 우리가 알아서 할 것이다 peewee 자동으로 ID 필드를 만들어 644 00:34:07,152 --> 00:34:09,360 그것은 자동 것 그것을 기본 키를 확인하는 645 00:34:09,360 --> 00:34:12,485 나는 때문에 일반적으로, 정말 좋은 생각 즉, 당신이 갖고 싶어 뭔가 646 00:34:12,485 --> 00:34:16,239 하지만 난 특별히에 넣어 좋아 그냥 그렇게 나는 거기에 있다고 기억합니다. 647 00:34:16,239 --> 00:34:19,480 하지만 당신은 그를 지정하지 않은 경우, 그 자동있을 것입니다. 648 00:34:19,480 --> 00:34:22,198 >> 그럼, 나는 일이있는 DateTimeField이며, 모든 649 00:34:22,198 --> 00:34:24,864 이러한 다양한 분야, 당신 경우 peewee 문서를 보면, 650 00:34:24,864 --> 00:34:28,920 그것은 당신에게 다른 목록을 줄 것이다 당신이 사용할 수있는 필드의 종류. 651 00:34:28,920 --> 00:34:34,440 대부분의 경우, 그것의 유사 당신은 SQL에서 볼 것입니다 무슨에. 652 00:34:34,440 --> 00:34:37,699 그래서 CharField는이있다 VarCharFields, TextField의, 653 00:34:37,699 --> 00:34:40,550 아주 오래 된입니다 블로그 게시물과 같은 텍스트, 654 00:34:40,550 --> 00:34:44,460 잠재적 DateTimeFields, DoubleFields, FloatFields, 655 00:34:44,460 --> 00:34:46,100 그런 모든 것들. 656 00:34:46,100 --> 00:34:51,570 >> 그리고 당신은 다른 인수에 전달할 수 있습니다 여기에, 나는 여기에 지정하지 않았다. 657 00:34:51,570 --> 00:34:55,719 말, 예를 들어, 당신은하고 싶지 않았다 이 게시물은 동일한 제목을 가질 수 있도록, 658 00:34:55,719 --> 00:34:59,672 당신은 지정할 수 있습니다 참 독특한 뭔가 = 659 00:34:59,672 --> 00:35:02,880 그것은 단지 추가 매개 변수의 그것을 다운 컴파일 때 필드 660 00:35:02,880 --> 00:35:06,865 SQL로, 그것은 지정 것 이 가지고 고유해야합니다. 661 00:35:06,865 --> 00:35:09,740 또한 뭔가를 지정할 수 있습니다 NOT NULL 및 다른 모든 것들 662 00:35:09,740 --> 00:35:11,750 당신은 일반적으로 SQL에서 할. 663 00:35:11,750 --> 00:35:16,020 그래서,이 매우 간단하다 날짜가 모델. 664 00:35:16,020 --> 00:35:19,460 DateTimeField 내에서, 여기에 주목, 나는 기본이 무엇인지 지정했습니다. 665 00:35:19,460 --> 00:35:22,560 나는 수를 지정 , datetime.datetime.now 666 00:35:22,560 --> 00:35:24,920 때문에 방법의 이 평가됩니다, 667 00:35:24,920 --> 00:35:28,750 실제로 평가 datetime.now 때 668 00:35:28,750 --> 00:35:32,110 이것은 데이터베이스에 삽입 얻는다. 669 00:35:32,110 --> 00:35:34,760 >> 나는, 내가 가진 거라고 생각 이를 재확인하고, 670 00:35:34,760 --> 00:35:38,222 하지만 당신은 다음과 같은 일을 한 경우 실제로, 한 번 그 평가 것 671 00:35:38,222 --> 00:35:40,180 다음 날짜 시간 항상 같은 것입니다. 672 00:35:40,180 --> 00:35:44,240 그래서, 당신이 뭔가를하고있는 단지 경우 날짜 시간에 두 번 확인 673 00:35:44,240 --> 00:35:47,080 이 때 평가 있다고 실제로 다른 삽입, 또는 도착 674 00:35:47,080 --> 00:35:48,780 당신은 혼동 될 수 있습니다. 675 00:35:48,780 --> 00:35:51,221 >> 제목은 단지이다 CharField, 거기에있는 676 00:35:51,221 --> 00:35:53,970 당신이 전달할 수 있습니다 더 인수는 지정 정확히 시간에 당신 677 00:35:53,970 --> 00:35:56,170 이 원하는, 그러나 여기, 정말 문제가되지 않았다. 678 00:35:56,170 --> 00:35:58,687 그리고 텍스트가 될 것입니다 전체 게시물의 텍스트, 679 00:35:58,687 --> 00:36:01,020 그것은 될 것 당신이 원하는해서 텍스트 필드 680 00:36:01,020 --> 00:36:03,370 그것은 꽤 긴 문자열이 될 수 있도록한다. 681 00:36:03,370 --> 00:36:05,970 >> 그리고 우리는이 메타가 서브 클래스 그 단지 682 00:36:05,970 --> 00:36:11,250 우리는 데이터베이스를하도록 지정 이 사실에 개방된다 683 00:36:11,250 --> 00:36:14,267 우리가 여기있는 DB 오브젝트를합니다. 684 00:36:14,267 --> 00:36:16,350 그리고 마지막 우리는이 여기에, 그냥이 기능입니다 685 00:36:16,350 --> 00:36:18,120 우리는 거라고 우리의 주요 응용 프로그램에서 사용 686 00:36:18,120 --> 00:36:23,970 연결하는 데이터베이스를 초기화 그것은 다음 포스트 테이블을 만들 수 있습니다. 687 00:36:23,970 --> 00:36:26,880 >> 이제, 주요 응용 프로그램 자체를 살펴 보자. 688 00:36:26,880 --> 00:36:30,800 그래서 하나는 꽤 것보다 더 비트 689 00:36:30,800 --> 00:36:34,840 우리가 전에 본 적이 있는지, 그러나 희망도 나쁘지 않다. 690 00:36:34,840 --> 00:36:37,140 그래서, 내가이를 확장 할 수 있습니다. 691 00:36:37,140 --> 00:36:38,370 알았어. 692 00:36:38,370 --> 00:36:42,070 >> 그래서, 통지 및 최고 나는 수입 다른 것들의 전체 무리 693 00:36:42,070 --> 00:36:44,129 플라스크에서 우리는하지 않았 음 정말 한 번도 본. 694 00:36:44,129 --> 00:36:46,670 희망, 우리는 통과 할 수 있습니다 이러한 하나 하나의 각 695 00:36:46,670 --> 00:36:49,420 과에 대해 조금 더 이야기 그들은, 예를 기준으로 정렬. 696 00:36:49,420 --> 00:36:51,380 그래서 우리는, 플라스크를 그리고 render_template, 697 00:36:51,380 --> 00:36:54,370 이는 우리가 전에 본 적이 이 요청 개체, 698 00:36:54,370 --> 00:37:00,400 우리가 어떻게 보면 올 것이다 나는 실제로 보여주는 된 형태 699 00:37:00,400 --> 00:37:01,170 공장. 700 00:37:01,170 --> 00:37:04,850 리디렉션 할 수있는, 리디렉션 다시 새로 만들기 포스트에서 701 00:37:04,850 --> 00:37:11,710 원래 홈페이지에 백업 한 다음 다음을 수행 할 수 있습니다 뭔가가 URL, 702 00:37:11,710 --> 00:37:15,550 에 위치를 알아 내기 웹 사이트의 특정 페이지입니다. 703 00:37:15,550 --> 00:37:17,810 >> 그러므로, 다음 내가 할 일은, 내가 가져 오기입니다 704 00:37:17,810 --> 00:37:21,550 모델에서 모든 정보 우리가보고 된 파일. 705 00:37:21,550 --> 00:37:23,140 그리고, 그래. 706 00:37:23,140 --> 00:37:28,720 >> 그래서, 새로운 뭔가가 오는 당신이 취급 할 때까지, 707 00:37:28,720 --> 00:37:31,850 특히 데이터베이스, 지정할 수 있다는 것입니다 708 00:37:31,850 --> 00:37:35,110 전에 호출되는 함수 도착 모든 요청 및 기능 709 00:37:35,110 --> 00:37:39,690 이를 사용하여, 모든 요청 후에 호출 함수 장식 app.before 요청. 710 00:37:39,690 --> 00:37:42,324 >> 그래서이 실행 얻을 것이다 목적지이 함수이다. 711 00:37:42,324 --> 00:37:44,240 이 일 필요는 없습니다 요청 전에 호출, 712 00:37:44,240 --> 00:37:46,281 하지만 일반적으로 그 뭔가 를 호출하는 현명한. 713 00:37:46,281 --> 00:37:48,580 714 00:37:48,580 --> 00:37:51,650 당신은 어떤 기능을 지정할 수 있습니다 당신은 거기라는 싶어 715 00:37:51,650 --> 00:37:56,330 그래서 나는이 initialize_db 지정 우리가 모델로 다시했다 기능 716 00:37:56,330 --> 00:38:02,390 파일, 그래서 모든 요청하기 전에, 데이터베이스에 연결하려고합니다. 717 00:38:02,390 --> 00:38:04,560 >> 서로 다른 두 가지가 있습니다 방법 당신은이 작업을 수행 할 수 있습니다. 718 00:38:04,560 --> 00:38:10,830 당신은 @app을 수행 할 수 있습니다., 난 이 after_request 믿습니다. 719 00:38:10,830 --> 00:38:13,800 및 차이점 after_request 및 teardown_request, 720 00:38:13,800 --> 00:38:17,590 after_request 만 일어날 것입니다 요청이 실제로 유효한 된 경우. 721 00:38:17,590 --> 00:38:20,440 그리고, 경우에만 요청이 성공적으로 722 00:38:20,440 --> 00:38:22,490 아무 잘못없는 경우 하지만 teardown_request 723 00:38:22,490 --> 00:38:26,300 성공의 경우에 일어나는 요구, 또는 에러 발생시. 724 00:38:26,300 --> 00:38:28,252 >> 따라서, 일반적으로, 당신이 원하는 teardown_request 사용하는, 725 00:38:28,252 --> 00:38:30,460 당신은하고 싶지 않는 특히 뭔가 다른, 726 00:38:30,460 --> 00:38:31,470 에러의 경우. 727 00:38:31,470 --> 00:38:35,122 그러나 단지 데이터베이스를 폐쇄하는, , 성공 또는 실패 아닌지 728 00:38:35,122 --> 00:38:37,080 우리는 당신이 분리 싶어 데이터베이스에서. 729 00:38:37,080 --> 00:38:41,240 그래서이 db.close,라고 DB 객체. 730 00:38:41,240 --> 00:38:43,740 >> teardown_request 알 수 있습니다 예외로합니다. 731 00:38:43,740 --> 00:38:46,781 실제로이 있다면 그래서 당신은 확인할 수 있습니다 오류는, 폐쇄되었을 때 732 00:38:46,781 --> 00:38:49,390 그러나 여기, 희망,이 오류의 전체를 많이하지 않습니다, 733 00:38:49,390 --> 00:38:52,720 그래서 우리는 단지 종류의를 무시하고있다. 734 00:38:52,720 --> 00:38:55,990 >> 좋아, 그리고 그것의 나머지는 너무 나쁘지 않다. 735 00:38:55,990 --> 00:39:02,240 그래서, 우리는 홈 페이지로 갈 때, 우리는이 home.html을 템플릿을 렌더링 736 00:39:02,240 --> 00:39:03,490 즉 열립니다. 737 00:39:03,490 --> 00:39:06,240 패스는 게시물에 , 어떤이 동일 738 00:39:06,240 --> 00:39:10,260 우리는이 게시물을 기억한다 않습니다 모델은, 그래서 우리는 모든 게시물을 선택 739 00:39:10,260 --> 00:39:13,890 다음 당신이 할 수있는 또 다른 것은, 당신은 WHERE 절을 지정할 수 있습니다 740 00:39:13,890 --> 00:39:16,910 당신을 지정할 수 있습니다 순서, 그리고 우리가 가지고 741 00:39:16,910 --> 00:39:18,820 게시물의 모든 다음 선택 얻고, 742 00:39:18,820 --> 00:39:22,590 우리는별로 주문 post.date.descending. 743 00:39:22,590 --> 00:39:25,030 그리고 그 지정됩니다 때 그들은 실제로, 나와 744 00:39:25,030 --> 00:39:29,250 가장 최근 최초의 하나가 될 것입니다. 745 00:39:29,250 --> 00:39:31,420 >> 그리고, 우리는로 그 전달 home.html을 템플릿, 746 00:39:31,420 --> 00:39:34,240 그래서 실제로 열어 보자 정말 빨리 그 템플릿, 747 00:39:34,240 --> 00:39:36,760 그리고 그 작동하고 방법을 살펴. 748 00:39:36,760 --> 00:39:42,130 그리고이 큰 HTML이 아니라 희망, 우리는 파이썬에 집중할 수 있습니다. 749 00:39:42,130 --> 00:39:46,960 >> 그래서 추가 새에 대한 링크가있다 포스트 등이 경로를 지정합니다 750 00:39:46,960 --> 00:39:51,580 플라스크 내에서 그 우리 바로 여기 인 정의합니다. 751 00:39:51,580 --> 00:39:56,310 이 새 게시물의 경로입니다, 우리는 여기에을 지정합니다. 752 00:39:56,310 --> 00:40:00,450 그리고 그 다음 갈 것입니다 링크입니다 플라스크 서버 내에서 그 노선. 753 00:40:00,450 --> 00:40:03,820 >> 더 흥미로운 것은 여기에 루프 이것이다. 754 00:40:03,820 --> 00:40:07,685 그래서 우리는이 지정 포스트 매개 변수하는 755 00:40:07,685 --> 00:40:09,560 에 전달 render_template 기능, 756 00:40:09,560 --> 00:40:13,550 포스트의 모든 게시물에 대한 에 전달되는 객체입니다. 757 00:40:13,550 --> 00:40:16,600 우리는 인쇄 할 게시물 제목, H1에서, 758 00:40:16,600 --> 00:40:21,930 다음 아래에, 우리는 인쇄 할 단락 내 포스트 텍스트입니다. 759 00:40:21,930 --> 00:40:25,710 >> 그리고 여기, 우리가 실제로 할 수있는 파이썬 함수를 호출, 760 00:40:25,710 --> 00:40:35,130 그래서 우리의 strftime 호출 할 수 있습니다, ST-RF-시간, 당신은 형식 문자열에 전달할 수 있습니다 761 00:40:35,130 --> 00:40:37,064 당신의에서 데이터를 인쇄 할 것이다. 762 00:40:37,064 --> 00:40:39,980 그래서 당신이 할 수있는 아주 좋은 것 실제로이 파이썬 함수를 호출 763 00:40:39,980 --> 00:40:41,090 여기에 내에서. 764 00:40:41,090 --> 00:40:44,370 당신의 서식을 할 필요가 없습니다 제어부 측, 정말로 때문에, 765 00:40:44,370 --> 00:40:47,770 날짜를 포맷하면 뭔가입니다 당신은보기 내에서 처리 할 수​​ 있습니다. 766 00:40:47,770 --> 00:40:51,480 >> 그리고 이러한 퍼센트의 모든 일이 매우 중요하지 않습니다. 767 00:40:51,480 --> 00:40:55,270 당신은 문서를 보면 파이썬에서의 strftime 함수, 768 00:40:55,270 --> 00:40:57,040 모든 이러한 지정 일, 그러나의 그 769 00:40:57,040 --> 00:40:59,190 어떻게, 언제 우리가 찾고 있던 여기에 홈 페이지에서, 770 00:40:59,190 --> 00:41:04,440 그것은 좋은으로이 형식을 날짜, 그것은 지정 AM 또는 PM, 771 00:41:04,440 --> 00:41:09,410 그러나 일반적으로, 우리의 경우 여기가 없었어요, 772 00:41:09,410 --> 00:41:14,024 당신은 아마 약간의 쓰레기를 얻을 수 있습니다 아주 좋은 보이지 않았다 날짜. 773 00:41:14,024 --> 00:41:15,940 그리고 우리를 지정 post.text, 내가하고 수 774 00:41:15,940 --> 00:41:19,460 몇 넣어 가지고 라인은 여기 나누기 775 00:41:19,460 --> 00:41:21,820 각 게시물 사이에 약간의 공간을 넣어. 776 00:41:21,820 --> 00:41:26,270 >> 그래서, 나는 가장 중요한 생각 이 예에서 것은, 777 00:41:26,270 --> 00:41:28,697 당신이 루프이 사용할 수 있다는 것입니다. 778 00:41:28,697 --> 00:41:30,780 그리고 이것은 유사 일 당신은 PHP로 할 수 있습니다. 779 00:41:30,780 --> 00:41:32,905 당신은 반복 할 수 모든이 전달됩니다 780 00:41:32,905 --> 00:41:36,719 그래서, 대신 필요없이해야 할 일 복사 / 붙여 넣기, 복사 / 모든 HTML을 붙여 781 00:41:36,719 --> 00:41:40,010 당신은 단지 다음 번을 작성해야하고, 당신은 모든 게시물을 반복 할 수 있습니다. 782 00:41:40,010 --> 00:41:41,510 >> 그리고 이것은 뭔가 당신이 원하는 것이 일반적 783 00:41:41,510 --> 00:41:44,510 당신은 많은 양의 데이터가있는 경우, 수행하는, 그 데이터의 모든입니다 784 00:41:44,510 --> 00:41:48,370 당신은 비슷한 일을하고 싶다. 785 00:41:48,370 --> 00:41:51,690 그리고, 그냥 기억 때를 그 명시 적으로 뭔가를 인쇄 할 786 00:41:51,690 --> 00:41:54,780 HTML에서, 당신은 사용 여기에 이​​중 중괄호, 787 00:41:54,780 --> 00:41:57,820 하지만 사용자가 지정하고자 할 때 상태에 대한 정보, 788 00:41:57,820 --> 00:42:02,430 나에 대한 루프를 들어, 퍼센트 브래킷을 사용합니다. 789 00:42:02,430 --> 00:42:08,730 >> 그래서, 파이썬으로 다시 가고 코드는, 그래서 설명 790 00:42:08,730 --> 00:42:12,242 어떤 주에서 일어나고있는 경로, 우리가 거​​기 가서, 791 00:42:12,242 --> 00:42:14,450 그냥 모두 표시 게시물, 그러나 질문 792 00:42:14,450 --> 00:42:17,440 어떻게 우리가 실제로받을 수 있나요된다 데이터베이스에있는 게시물 793 00:42:17,440 --> 00:42:18,970 조금 더 재미있다. 794 00:42:18,970 --> 00:42:23,960 >> 그래서, 때 새를 클릭 우리가 여기서 본 포스트 링크, 795 00:42:23,960 --> 00:42:26,000 그것은이 형태로 리디렉션. 796 00:42:26,000 --> 00:42:29,580 그리고는 그냥 간단한 호출이다 render_template 기능, 이는 다음 797 00:42:29,580 --> 00:42:32,110 HTML 형태로 새 게시물에 전달합니다. 798 00:42:32,110 --> 00:42:36,212 그럼 그 살펴 보자. 799 00:42:36,212 --> 00:42:37,420 그래서이 사람은 아주 간단합니다. 800 00:42:37,420 --> 00:42:45,110 그것은 간단한 HTML 양식을 가지고있는 조금 익숙 할 것입니다, 801 00:42:45,110 --> 00:42:47,380 CS50 금융 양식을 기반으로. 802 00:42:47,380 --> 00:42:49,940 그래서, 우리는 여기에 작업을 지정합니다. 803 00:42:49,940 --> 00:42:52,435 그리고 여기 당신이 작업하는 경우 PHP로, 일반적으로, 그것을 804 00:42:52,435 --> 00:42:55,930 과 같은 것, create.PHP, 그러나 여기에서 805 00:42:55,930 --> 00:42:59,960 우리는 실제로 경로를 지정 플라스크 서버 내에서. 806 00:42:59,960 --> 00:43:02,520 그리고,이 경로는 대응 생성 행 807 00:43:02,520 --> 00:43:05,680 우리는 여기에서 가지고있는 우리는 1 초에 갈거야. 808 00:43:05,680 --> 00:43:07,630 >> 그래서, 우리는 그것을 지정 그것은, 포스트 방법이다 809 00:43:07,630 --> 00:43:09,820 우리는 보낼 때문에 이 폼 데이터 및 보통 810 00:43:09,820 --> 00:43:12,945 폼에서 데이터를 송신 할 때, 당신은 POST 요청을 사용 할 수 있습니다, 811 00:43:12,945 --> 00:43:15,760 당신은 결국하지 않습니다 단지 있도록 이 크고, 다루기 힘든 URL을. 812 00:43:15,760 --> 00:43:18,970 하지만 당신은 또한 GET 요청을 사용할 수 있습니다, 그리고, 변수 라우팅을 건네 813 00:43:18,970 --> 00:43:21,170 그러나 양식을 위해, 그것은 좋다 여기에 POST 요청에. 814 00:43:21,170 --> 00:43:24,620 그래서 다음, 당신을 좋아 HTML과 PHP로 할 것, 815 00:43:24,620 --> 00:43:28,420 이러한 텍스트 입력을 지정할 수 있습니다, 당신은 그들의 이름을 지정할 수 있습니다, 816 00:43:28,420 --> 00:43:33,490 그것은이 전달되는 이름이다 플라스크 내에서 요청 객체에. 817 00:43:33,490 --> 00:43:36,960 >> 그리고 우리는 제출 한 버튼 포스트는 말했다 그. 818 00:43:36,960 --> 00:43:40,760 그리고 여기, 포스트의 이름입니다 버튼은 블로그 포스트이기 때문에, 819 00:43:40,760 --> 00:43:42,700 그러나 여기, 포스트는 요청 방법이다. 820 00:43:42,700 --> 00:43:47,060 그래서 그것들은 동일한 워드 아르 실제로 관련이없는. 821 00:43:47,060 --> 00:43:48,460 네 822 00:43:48,460 --> 00:43:54,800 >> 파이썬 코드로 돌아가서, 우리는이 방법을 만들라고 할 때, 823 00:43:54,800 --> 00:43:57,702 여기에 주목 당신은 할 수 실제로 경로 내에서 지정 824 00:43:57,702 --> 00:44:00,650 요청 방법 수락 할 것인지, 825 00:44:00,650 --> 00:44:04,770 그래서 여기에, 나는 내가를 지정 단지 포스트 방법을 적용 할 수 있습니다. 826 00:44:04,770 --> 00:44:09,800 그래서, 실제로 페이지를 방문하려고하면 직접, GET 요청을 사용하는, 827 00:44:09,800 --> 00:44:11,700 그것은 "방법은 허용되지 않습니다."나에게 말할 것이다 828 00:44:11,700 --> 00:44:15,840 >> 그래서, 당신은 종류의 같은 페이지가 난 단지 해요이 만드는 페이지, 829 00:44:15,840 --> 00:44:20,192 정말 방법을 같이 사용 양식 제출 얻으려면, 830 00:44:20,192 --> 00:44:22,900 당신은 당신이하지 않도록 지정할 수 있습니다 사람들이 갈 수 있도록하려면 831 00:44:22,900 --> 00:44:25,650 직접 GET 요청을 통해, 또는 당신이 원하는하지 않은 경우, 832 00:44:25,650 --> 00:44:28,580 어떤 이유로, POST 요청, 당신은 여기 GET 지정할 수 있습니다 833 00:44:28,580 --> 00:44:32,720 그러나이 예에서는, 단지 POST 요청 외출하고 싶다. 834 00:44:32,720 --> 00:44:38,700 >> 그래서, create_post가 호출 될 때, 때 우리는 포스트 요청을 통해 것을 방문 835 00:44:38,700 --> 00:44:43,600 당신은 특정에 갈 때마다 노선이 요청 객체가있다, 836 00:44:43,600 --> 00:44:46,640 우리는 수입했다 맨 위에 요청 837 00:44:46,640 --> 00:44:49,640 그러나이 요청 거기 에 전달되는 객체, 838 00:44:49,640 --> 00:44:53,210 당신은 양식 데이터에 액세스 할 수 있습니다, 이는 자동으로 채워 얻을 것이다 839 00:44:53,210 --> 00:44:55,070 당신은 양식에서 요청을 보낼 때. 840 00:44:55,070 --> 00:44:56,990 >> 그리고, 내가 무슨 생각 정말 멋진입니다 841 00:44:56,990 --> 00:45:02,840 양식 객체가 전달 얻을 수 있음을 에, 그냥 파이썬 사전입니다 842 00:45:02,840 --> 00:45:10,560 그렇게 여기 access-- 경우,하자 포함 나 그냥 옆에 표시되는 HTML을 끌어 843 00:45:10,560 --> 00:45:17,670 그래서 당신은 그것을 할 수 있습니다 참조, 예, 그래서 같은 844 00:45:17,670 --> 00:45:21,060 우리가 여기에 지정하는 이름 다른 분야에 대한, 그래서 845 00:45:21,060 --> 00:45:23,900 제목 및 텍스트, 우리 그럼 그냥 여기 사람들을 사용 846 00:45:23,900 --> 00:45:27,110 양식 데이터의 인덱스로. 847 00:45:27,110 --> 00:45:28,950 그래서 매우 편리합니다. 848 00:45:28,950 --> 00:45:33,320 >> 그래서 우리는, post.create를 호출하는 생성하고 자동으로 삽입됩니다 849 00:45:33,320 --> 00:45:36,850 데이터베이스에이 새 게시물의 객체입니다. 850 00:45:36,850 --> 00:45:40,690 그리고이 함수를 만들 생각 여기에 방법에 대한 정말 멋진 예입니다 851 00:45:40,690 --> 00:45:44,900 강력한 플라스크 및이와 함께 일하고있다 당신이 뭔가를하고 있다면 때문에 852 00:45:44,900 --> 00:45:48,660 PHP에서, 당신은해야 할 수도 있습니다 검증을 많이 할, 853 00:45:48,660 --> 00:45:51,730 당신은해야 할 것입니다 데이터베이스 연결을 수립 854 00:45:51,730 --> 00:45:55,210 당신은해야 할 것입니다 SQL 쿼리를 실행, 855 00:45:55,210 --> 00:45:59,550 그러나 여기에서 우리는 단지이 좋은이 post.create, 어떤 우리는 할 수 있습니다 만 856 00:45:59,550 --> 00:46:01,520 정보를 얻을 요청 객체의, 857 00:46:01,520 --> 00:46:05,370 다음 새로 전달 우리가 만드는 것을 게시합니다. 858 00:46:05,370 --> 00:46:07,850 >> 그리고, 맨 마지막 다음 우리가하고 싶은 것은, 859 00:46:07,850 --> 00:46:09,630 리디렉션하는 것입니다 집에 대한 사용자 다시. 860 00:46:09,630 --> 00:46:13,020 그래서 우리는이를 사용 플라스크 기능을 리디렉션합니다. 861 00:46:13,020 --> 00:46:17,770 그리고 뭔가 우리가 보지 못한 그 이전에,이 URL 기능이었다. 862 00:46:17,770 --> 00:46:21,970 그래서 기능에 대한 URL을 할 수 있습니다 실제로 이름을 전달 863 00:46:21,970 --> 00:46:26,090 파이썬 코드의 기능, 오히려 특정 경로보다 864 00:46:26,090 --> 00:46:26,720 그것이이에 있어요. 865 00:46:26,720 --> 00:46:32,107 >> 그래서 난 그냥 쉽게 할 수 슬래시 사용자를 리디렉션, 866 00:46:32,107 --> 00:46:37,050 어느 집에 그것을 다시 보내지 만 것 기능이 좋은 위해 URL을 사용하여, 867 00:46:37,050 --> 00:46:39,990 당신을 변경하는 경우 때문에 물건은 위치, 868 00:46:39,990 --> 00:46:44,080 그래서 내가 변경한다고 가정 해 봅시다 집 대신 / 집에서 할 수 869 00:46:44,080 --> 00:46:47,040 이 여전히 다음 반환 / 가정, 실제로 가서 조회 때문에 870 00:46:47,040 --> 00:46:50,770 함수의 이름, 그것 해당 URL을 다시 제공 할 것입니다. 871 00:46:50,770 --> 00:46:52,490 >> 그래서, 일종의에 당신이있어 가정 872 00:46:52,490 --> 00:46:55,489 여기서 상황을 타개 할 가능성 함수의 이름보다는이다. 873 00:46:55,489 --> 00:46:58,840 당신은 정말이 사용할 수 있습니다 기능에 대한 좋은 URL입니다. 874 00:46:58,840 --> 00:47:02,470 그리고 한 가지 알아야 할 즉, 조금 까다 롭습니다 875 00:47:02,470 --> 00:47:05,750 방금 수 생각입니다 에 대한 URL에 재 호출 876 00:47:05,750 --> 00:47:10,600 실제로 라우트가 모든 텍스트 및 HTML의 어떤 종류의 반환, 877 00:47:10,600 --> 00:47:14,360 그래서 당신은 사실에있다 리디렉션 호출을 반환합니다. 878 00:47:14,360 --> 00:47:18,379 그렇지 않으면, 당신이 뭔가를 얻을 수 있습니다 유효하지 않은 문자열을 반환하지에 대한, 879 00:47:18,379 --> 00:47:21,420 이러한 모든 복귀하기 때문에 HTML은 실제로 렌더링 할. 880 00:47:21,420 --> 00:47:26,980 >> 그래서, 당신은 리디렉션을 호출 할 때, 이 페이지로 리디렉션 881 00:47:26,980 --> 00:47:30,270 하지만 실제로 HTML을 반환 당신은 리디렉션을 실행해야합니다. 882 00:47:30,270 --> 00:47:34,430 883 00:47:34,430 --> 00:47:37,110 다시 홈 페이지로 이동합니다. 884 00:47:37,110 --> 00:47:39,200 그래서 우리는이 두 개의 서로 다른 견해를 가지고있다. 885 00:47:39,200 --> 00:47:40,132 우리는 집에 볼 수 있습니다. 886 00:47:40,132 --> 00:47:41,590 아니면, 내가 템플릿 말을해야 같아요. 887 00:47:41,590 --> 00:47:44,190 우리는이 두 가지 템플릿을 가지고, 집에 서식하는 888 00:47:44,190 --> 00:47:48,500 우리의 모든 게시물을 표시하고, 우리는이 광고 일을 가지고, 889 00:47:48,500 --> 00:47:52,970 이 게시물을 클릭하면, 그것은 간다 플라스크 내의 새로운 노선, 890 00:47:52,970 --> 00:47:55,920 그러나 그 경로는 반드시하지 않습니다 해당 템플릿이있다. 891 00:47:55,920 --> 00:47:59,290 892 00:47:59,290 --> 00:48:01,560 당신은 볼 필요가 없습니다 아무것도,하지만 당신은 여전히​​ 수 893 00:48:01,560 --> 00:48:04,090 이 작품 가고있다 배후에. 894 00:48:04,090 --> 00:48:07,450 그리고 당신은 리디렉션 홈 페이지로 돌아. 895 00:48:07,450 --> 00:48:12,230 그리고 확실히, 그것은 작동하기 쉽습니다 템플릿에 몇 가지 더 멋진 CSS에서 896 00:48:12,230 --> 00:48:15,580 이것은 훨씬 더 좋은 보이게, 하지만 주요 논리의 모든 897 00:48:15,580 --> 00:48:18,590 파이썬에있다. 898 00:48:18,590 --> 00:48:20,020 >> 그 예에 대한 질문? 899 00:48:20,020 --> 00:48:22,760 나는 많은이 알고 여러 가지가있다 진행 900 00:48:22,760 --> 00:48:25,341 우리가 보지 못한 많은 것들을 전에,하지만 아무것도있다. 901 00:48:25,341 --> 00:48:25,840 네. 902 00:48:25,840 --> 00:48:28,346 >> 청중 1 : 당신은 아무것도 할 필요가 마 의 데이터를 스크럽 특수 903 00:48:28,346 --> 00:48:29,600 양식에서 들어오는? 904 00:48:29,600 --> 00:48:31,109 나는 "생성"당신이 방금 말한 발견 905 00:48:31,109 --> 00:48:33,900 에즈라 ZIGMOND : 네, 그래서 그건 실제로, 그것은 정말 좋은 점이다. 906 00:48:33,900 --> 00:48:36,350 질문은 그래서, 당신을 확인하고 있는지 확인해야합니다 907 00:48:36,350 --> 00:48:39,190 데이터가 유효한지 및 세정의 모든 종류의 작업을 수행 908 00:48:39,190 --> 00:48:41,840 이 유효한지 확인하려면, 당신이 여기에서 볼 수 있기 때문에, 909 00:48:41,840 --> 00:48:42,660 나는 그 일을하고 있지 않다. 910 00:48:42,660 --> 00:48:48,140 그럼 어떻게되는지 보자 나는 빈 뭔가를 게시합니다. 911 00:48:48,140 --> 00:48:51,190 그래서, 실제로 단지를 만들거야 빈 게시물 및 날짜 시간을 채우십시오. 912 00:48:51,190 --> 00:48:55,990 >> 그래서 현실에서, 당신은 아마 것 뭔가를하고 싶어, 913 00:48:55,990 --> 00:49:04,749 제목이 동일한 경우는 아마 지정 빈 문자열, 다음이 작업을 수행하지 않습니다. 914 00:49:04,749 --> 00:49:07,290 제목이있는 경우 또는, 단지 그것을 할 빈 문자열과 동일하지. 915 00:49:07,290 --> 00:49:10,330 그래서 실제로 자동으로하지 않습니다 그 세정 돌봐 916 00:49:10,330 --> 00:49:12,820 당신을 위해, 그래서 당신은 여전히​​ 그렇게 할 필요가있다. 917 00:49:12,820 --> 00:49:14,330 그래, 좋은 질문입니다. 918 00:49:14,330 --> 00:49:18,497 >> 청중 2 : 그것을 스크럽을합니까 속편 주입 하시나요? 919 00:49:18,497 --> 00:49:19,890 당신은 알고 계십니까? 920 00:49:19,890 --> 00:49:22,830 >> 에즈라 ZIGMOND : 희망, peewee는 않습니다. 921 00:49:22,830 --> 00:49:25,830 나는 확실히 꽤있을 거라고 생각 나쁜 도서관은 그렇게하지 ​​않은 경우. 922 00:49:25,830 --> 00:49:29,511 923 00:49:29,511 --> 00:49:32,690 나는 정확히 알지 못한다. 924 00:49:32,690 --> 00:49:34,820 나는보고해야 할 것이다 이 생성 된 것을 쿼리합니다. 925 00:49:34,820 --> 00:49:38,980 난에 입력하면, 생각 일종의 보였다 블로그 게시물 926 00:49:38,980 --> 00:49:46,370 SQL 주입 공격과 같은, 이 같은,이 경우 927 00:49:46,370 --> 00:49:49,370 암호 필드 또는 뭔가처럼, 당신이 뭔가를 할 수 있습니다. 928 00:49:49,370 --> 00:49:53,410 >> 나는 여전히 생각 문자 그대로 게시 얻을, 929 00:49:53,410 --> 00:49:59,200 그러나 나는 peewee 할 않는 생각 데이터 스크러빙의 일종 930 00:49:59,200 --> 00:50:01,680 실제로 그것을 실행하기 전에. 931 00:50:01,680 --> 00:50:04,510 >> 청중 1 : 텍스트 필드입니다 바로, 일반 텍스트를 수 있도록 설계? 932 00:50:04,510 --> 00:50:05,710 >> 에즈라 ZIGMOND : 네, 그렇습니다. 933 00:50:05,710 --> 00:50:06,465 네. 934 00:50:06,465 --> 00:50:09,590 그래서 나는 모든 생각, 그래서 이것은이다 올바른 동작, 즉 그렇게 할 것입니다, 935 00:50:09,590 --> 00:50:12,170 하지만 난 그 peewee 생각 희망하지 않는다 936 00:50:12,170 --> 00:50:13,780 자신의 말에 대한 보호의 일종. 937 00:50:13,780 --> 00:50:16,090 그리고 당신이 원한다면 이중 체크, 그이 938 00:50:16,090 --> 00:50:19,530 쿼리를 생성하는 방법이 있습니다. 939 00:50:19,530 --> 00:50:22,622 그래서 당신은 필요 없어 직접 실행합니다. 940 00:50:22,622 --> 00:50:24,330 난을해야 할 것이다 문서를 보면, 941 00:50:24,330 --> 00:50:27,930 하지만 당신은 실제로 볼 수 있습니다 이 생성하는 SQL, 942 00:50:27,930 --> 00:50:30,840 그 살펴보고 및 확인 이 일을 탈출되어 있는지 확인합니다. 943 00:50:30,840 --> 00:50:33,700 >> 또 다른 이유는 왜 수도 SQL보고 싶지 944 00:50:33,700 --> 00:50:37,920 그 peewee는 경우이며, 출력한다 일이 정말 천천히가는 것 같다 945 00:50:37,920 --> 00:50:41,090 당신은 살펴보고 그것이 무엇을 볼 수 있습니다 가끔 때문에 실제로 일 946 00:50:41,090 --> 00:50:44,670 실수로 쉽게 추가 할 수 에, 그런데 당신은 그것을 쓰기, 947 00:50:44,670 --> 00:50:47,880 당신은 실수를 할 수 있습니다 먼저 전체 데이터베이스를 선택, 948 00:50:47,880 --> 00:50:50,230 다음 어떤 종류의 작업을 수행 그에, 때 당신에게 정말 949 00:50:50,230 --> 00:50:51,320 하위 집합을 선택하는 것을 의미했다. 950 00:50:51,320 --> 00:50:53,560 >> 그리고 상황이 아닌 경우입니다 확실히, 바로가는 951 00:50:53,560 --> 00:50:57,300 이 요청에 대해 살펴하는 것이 좋다 이 실제로 발생지고있다. 952 00:50:57,300 --> 00:50:57,800 네. 953 00:50:57,800 --> 00:51:02,100 >> 청중 2 : 처음 시작했을 때, 당신은 5000 포트에 넣어. 954 00:51:02,100 --> 00:51:02,904 >> 에즈라 ZIGMOND : 네. 955 00:51:02,904 --> 00:51:06,070 청중 2 :, peewee와 기본입니다 또는 변경할 수있는 일이 있다는 것입니다? 956 00:51:06,070 --> 00:51:10,870 에즈라 ZIGMOND : 예, 그래서 포트는 플라스크에 기본값입니다. 957 00:51:10,870 --> 00:51:13,061 당신은없이 실행하는 경우 아무것도 지정 958 00:51:13,061 --> 00:51:14,310 그것은 자동으로 할 것입니다. 959 00:51:14,310 --> 00:51:16,060 나는 내가 가진 것, 생각 이를 재확인하고, 960 00:51:16,060 --> 00:51:19,130 하지만 당신은, app.run에 그를 지정할 수 있습니다 난 당신이 뭔가를 할 수 있다고 생각 961 00:51:19,130 --> 00:51:19,629 포트 = 8080. 962 00:51:19,629 --> 00:51:22,375 963 00:51:22,375 --> 00:51:23,750 이제 진짜 빠른 시도해 보겠습니다. 964 00:51:23,750 --> 00:51:29,100 965 00:51:29,100 --> 00:51:32,230 그래, 그래서 당신은 단지를 지정할 수 있습니다 포트 = 8080, 그리고, 거기를 실행합니다 966 00:51:32,230 --> 00:51:36,130 당신이 원한다면 내가 생각하는, 그것을 실행하기 IDE에서, 나는 이것을 시도하지 않은 967 00:51:36,130 --> 00:51:38,527 하지만 난 생각하면 경우 포트 8080에 달렸다 968 00:51:38,527 --> 00:51:40,360 당신은 아마 수있을 것 서버에 액세스하기 위해, 969 00:51:40,360 --> 00:51:41,870 당신이 웹 사이트에 대한했다 좋아한다. 970 00:51:41,870 --> 00:51:44,390 >> 그래,하지만 쉽게 변경 당신 경우 971 00:51:44,390 --> 00:51:48,540 같은 포트 포워딩의 종류가 당신이해야 할 일. 972 00:51:48,540 --> 00:51:50,410 >> 다른 질문? 973 00:51:50,410 --> 00:51:50,916 네? 974 00:51:50,916 --> 00:51:53,416 청중 1 : 그래서, 난에서 본 당신의 당신이 언급 한 바와 같이 모델, 975 00:51:53,416 --> 00:51:55,647 당신을 지정해야 각 개체에 대한 데이터베이스. 976 00:51:55,647 --> 00:51:58,105 당신은 아시나요, 수행 즉, 만약 정말 쉽게 977 00:51:58,105 --> 00:52:03,210 SQLite는 데이터베이스의 제비가 있음 하나의 웹 응용 프로그램에 사용할, 978 00:52:03,210 --> 00:52:07,210 당신은 무리를 지정할 수 있음 모델의 다른 사람? 979 00:52:07,210 --> 00:52:11,620 >> 에즈라 ZIGMOND : 그래, 나를 보자 진짜 빨리 그를 엽니 다. 980 00:52:11,620 --> 00:52:17,570 당신이하려는 경우, 당신은, 말을하는지 다른 무언가의 무리, 아마 981 00:52:17,570 --> 00:52:22,670 일부, 좋아하고 학생들 이유는, 뭐 그런? 982 00:52:22,670 --> 00:52:26,870 그래, 그래서 내가 생각 여전히, 각 모델 983 00:52:26,870 --> 00:52:30,652 아직 단지가해야 할 것 할당 하나의 데이터베이스, 984 00:52:30,652 --> 00:52:32,610 하지만 당신이 원하는 경우가합니다 다른 모델이 985 00:52:32,610 --> 00:52:35,818 다른 데이터베이스 오브젝트는 할당 여기에, 당신은 확실히 그렇게 할 수 있습니다. 986 00:52:35,818 --> 00:52:43,070 그래서 경우에 나는 새를 만들어 이 같은, 987 00:52:43,070 --> 00:52:47,000 이제이 학생은 그 , 이상한 블로그 포스트처럼 보인다 988 00:52:47,000 --> 00:52:49,390 나는 지정할 수 데이터베이스는 여기 db_2과 같다. 989 00:52:49,390 --> 00:52:51,390 그래서, 난 그 생각 당신이 할 수있는 주요 방법. 990 00:52:51,390 --> 00:52:54,560 991 00:52:54,560 --> 00:52:56,200 >> 시원한. 992 00:52:56,200 --> 00:52:58,410 다른 질문? 993 00:52:58,410 --> 00:53:02,170 >> 그래서 조금을 마무리합니다 비트, 여기에 몇 가지 자원이 있고, 994 00:53:02,170 --> 00:53:06,030 이러한 슬라이드는 온라인으로 게시됩니다 그래서 당신은 실제로 이러한 링크를 얻을 수 있습니다. 995 00:53:06,030 --> 00:53:08,500 가장 좋은 자원은 정말 플라스크에 대한 설명서 996 00:53:08,500 --> 00:53:09,930 스스로를 peewee. 997 00:53:09,930 --> 00:53:12,940 그들은 정말 잘 쓰여진하고, 나는 생각한다. 998 00:53:12,940 --> 00:53:18,180 그래서, 플라스크 웹 사이트는 여기이며, 그들은 퀵 스타트 자습서를 가지고 그 999 00:53:18,180 --> 00:53:20,710 비슷한을 통해 안내합니다 내가 통해 걸어 무슨 일, 1000 00:53:20,710 --> 00:53:23,560 하지만 당신은 검토의 어떤 종류를 원하는 경우 내가 가서 물건, 1001 00:53:23,560 --> 00:53:26,200 또는 당신은 내가 설명하는 생각 혼란스러운 방식으로 뭔가, 1002 00:53:26,200 --> 00:53:28,390 그들은 거기에 비슷한 예제를해야합니다. 1003 00:53:28,390 --> 00:53:31,570 >> Peewee는 문서를 가지고 있으며, 그들은 퀵 스타트 자습서를 가지고 1004 00:53:31,570 --> 00:53:34,650 즉, 주요 매개 변수를 넘어 당신이 사용하고자하는 것이다. 1005 00:53:34,650 --> 00:53:38,900 그래서, 일이 나는 약 이야기 고유 및 지정 기본값 1006 00:53:38,900 --> 00:53:42,710 필드의 그 종류의 다른 당신은 그 모든이있을 것입니다, 사용할 수 있습니다. 1007 00:53:42,710 --> 00:53:44,690 >> 또한, 당신이있는 경우 peewee에 대한 질문, 1008 00:53:44,690 --> 00:53:47,530 당신은, 유래에 그들을 게시 실제로 peewee을 만든 사람 1009 00:53:47,530 --> 00:53:49,500 계속 때로는 그 대답을 제공합니다. 1010 00:53:49,500 --> 00:53:53,200 당신은 잘하면 문제가있는 경우 그는 그것을 대답 할 수있을 것이다 1011 00:53:53,200 --> 00:53:54,867 그는 전체를 썼다 때문이다. 1012 00:53:54,867 --> 00:53:56,700 나는 그 모든 것을 생각 내가 커버하고 싶었다. 1013 00:53:56,700 --> 00:53:58,930 와 주셔서 감사합니다. 1014 00:53:58,930 --> 00:54:02,688