-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
3/26 ·s®Ñ¨ì¡I 3/19 ·s®Ñ¨ì¡I 3/14 ·s®Ñ¨ì¡I 12/12 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

Django 3 WebÀ³¥Î¶}µo¹ê¾Ô

( ²Åé ¦r)
§@ªÌ¡G¶À¥Ã²»Ãþ§O¡G1. -> µ{¦¡³]­p -> Python
ĶªÌ¡G
¥Xª©ªÀ¡G²MµØ¤j¾Ç¥Xª©ªÀDjango 3 WebÀ³¥Î¶}µo¹ê¾Ô 3dWoo®Ñ¸¹¡G 54783
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¯Ê®Ñ¡j
NT°â»ù¡G 695 ¤¸

¥Xª©¤é¡G7/1/2021
­¶¼Æ¡G623
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R
(½Ð¥ýµn¤J·|­û)
ISBN¡G9787302580317
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

Python¬O·í«e¼öªùªº¶}µo»y¨¥¤§¤@¡A¥¦¦³µÛ¼sªxªºÀ³¥Î»â°ì¡A¦bºôµ¸ª¦ÂΡBWeb¶}µo¡B¼Æ¾Ú¤ÀªR©M¤H¤u´¼¯àµ¥»â°ì³£¨ü¨ì¶}µoªÌªº¼ö·R©M°l±·¡C²{¦b«Ü¦h¥ø·~¶}©l¨Ï¥ÎPython§@¬°ºô¯¸ªA°È¾¹ªº¶}µo»y¨¥¡A¦]¦¹´x´¤Web¶}µo¬OPython¶}µoªÌ¥²¤£¥i¤Öªº§Þ¯à¤§¤@¡C
Django¬OPython¶}µoºô¯¸ªº­º¿ïWeb®Ø¬[¡A³oÂk¥\¤_Django¸û±jªº³W­S©Ê¡A³W­S¤F¶}µo¤H­ûªº½s½X­n¨D¡A¥H²Å¦X¥ø·~ªº³W­S¤ÆºÞ²z¡C¥¿¦]¦p¦¹¡ADjango¦¨¬°¶}µo¤H­û¥²¾ÇªºWeb®Ø¬[¤§¤@¡C
¥»®ÑÁ¿­zªº¤º®e°ò¤_Django 3.1©Î¥H¤Wª©¥»¡Aª¾ÃѸó«×±qºô¯¸¶}µo¤Jªù¨ìºô¯¸¬[ºc³]­p¡A³q¹L¥»®Ñªº¾Ç²ß¡AŪªÌ¤£¶È¥i¥Hºë³qDjango®Ø¬[ªºÀ³¥Î¡AÁÙ¯à¤@¨B¤@¨B¨«¦V¬[ºc®v¤§¸ô¡C
¥»®Ñµ²ºc
¥»®Ñ¦@¤À17³¹¡A¦U³¹¤º®e·§­z¦p¤U¡G
²Ä1³¹¤¶²Ðºô¯¸ªº°ò¦ª¾ÃÑ©MDjangoªºÀô¹Ò·f«Ø¡A¤À§OÁ¿­z¤Fºô¯¸ªº©w¸q¡B¤ÀÃþ¡B¹B¦æ­ì²z¡BDjangoªº¦w¸Ë¡B·f«Ø¶}µoÀô¹Ò¡B¶µ¥Ø³Ð«Ø»P½Õ¸Õ©M«eºÝ¶}µo°ò¦ª¾ÃÑ¡C
²Ä2³¹¤¶²ÐDjangoªº¶µ¥Ø°t¸m¡A¥]¬A°ò¥»°t¸m¡BÀRºA¸ê·½¤å¥ó¡B¼ÒªO¸ô®|¡B¼Æ¾Ú®w°t¸m©M¤¤¶¡¥ó¡C
²Ä3³¹Á¿­z¸ô¥Ñªº½s¼g³W«h¡A¥]¬A¸ô¥ÑÅܶqªº³]¸m¡B³]¸m¥¿«hªí¹F¦¡¡B©R¦WªÅ¶¡»P¸ô¥Ñ©R¦W¡B¸ô¥Ñªº¤Ï¦V¸ÑªR©M­«©w¦V¡C
²Ä4³¹¤¶²Ðµø¹Ï¨ç¼Æªº©w¸q¤èªk¡A¦bµø¹Ï¨ç¼Æ¤¤Á¿­z¥Î¤áªºÅTÀ³¤è¦¡¡B¤å¥ó¤U¸ü¡BHTTP½Ð¨D«H®§¡B¤å¥ó¤W¶Ç¡BCookie¤Ïª¦ÂÎ¥\¯à©M½Ð¨DÀY¤Ïª¦ÂÎ¥\¯à¡C
²Ä5³¹Á¿­zµø¹ÏÃþªº©w¸q»P¨Ï¥Î¡Aµø¹ÏÃþ®Ú¾Ú¥Î³~¹º¤À¬°¤T³¡¤À¡G¼Æ¾ÚÅã¥Üµø¹Ï¡B¼Æ¾Ú¾Þ§@µø¹Ï©M¤é´Á¿z¿ïµø¹Ï¡C
²Ä6³¹Á¿¸Ñ¼ÒªOªº½s¼g¤èªk¡A¤À§OÁ¿­zDjango¼ÒªO¤ÞÀº©MJinja2¼ÒªO¤ÞÀºªº¨Ï¥Î¡A¥]¬A¼ÒªOªºÅܶq¡B¼Ðñ¡B¼ÒªOÄ~©Ó¡B¼Ðñ©M¹LÂo¾¹ªº©w¸q»P¨Ï¥Î¡C
²Ä7³¹Á¿­z¼Ò«¬ªº©w¸q»P¨Ï¥Î¡A¤ñ¦p¼Ò«¬ªº©w¸q»P¼Æ¾Ú¾E²¾¡B¼Æ¾Úªíªº¼Æ¾ÚÃö¨t©M¼Æ¾ÚªºÅª¼g¾Þ§@¡A³q¹L¾Þ§@¼Ò«¬¹ï¶H¹ê²{¼Æ¾ÚªíªºÅª¼g¡A¦}Á¿­z¼Æ¾Úªíªº°ÊºA³Ð«Ø©MMySQL¤Àªí¥\¯à¡C
²Ä8³¹¤¶²Ðªí³æªº©w¸q»P¨Ï¥Î¡A¥D­nÁ¿­zªí³æ»P¼Ò«¬ªºµ²¦X¥Í¦¨¼Æ¾Úªí³æ¡A¦}³q¹L¼Æ¾Úªí³æ¾Þ§@¹ê²{¼Æ¾Úªíªº¼Æ¾ÚŪ¼g¡A¦p¦P¤@ºô­¶¦h­Óªí³æ¡B¤@­Óªí³æ¦h­Ó«ö¶s¡Bªí³æ§å¶q³B²z©M¦h¤å¥ó§å¶q¤W¦sµ¥±`¨£ªºWebÀ³¥Î¡C
²Ä9³¹¤¶²ÐDjango¤º¸mªºAdmin¦Z»O¨t²Î¡AÁ¿­zAdminªº°ò¥»³]¸m¥H¤Î¤@¨Ç±`¥Î¥\¯àªº¤G¦¸¶}µo¡C
²Ä10³¹¤¶²ÐDjango¤º¸mªºAuth»{ÃÒ¨t²Î¡AÁ¿­z¤º¸m¼Ò«¬Userªº¨Ï¥Î©MÂX®i¡A¹ê²{¥Î¤áª`¥U©Mµn¿ý¥\¯à¡B¥Î¤áÅv­­ªº³]¸m©M¥Î¤á²Õªº³]¸m¡C
²Ä11³¹¤¶²ÐDjango±`¥Îªº¤º¸m¥\¯à¡A¥]¬A·|¸ÜSession¡B½w¦s¾÷¨î¡BCSRF¨¾Å@¡B®ø®§®Ø¬[¡B¤À­¶¥\¯à¡B°ê»Ú¤Æ©M¥»¦a¤Æ¡B³æ¤¸´ú¸Õ¡B¦Û©w¸q¤¤¶¡¥ó¡B²§¨B½sµ{¡]¦h½uµ{ªºÀ³¥Î¡BASGIªA°È¡B²§¨Bµø¹Ï¥H¤Î²§¨B»P¦P¨BªºÂà´«¡^¡B«H¸¹¾÷¨î¡C
²Ä12³¹¤¶²ÐDjangoªº²Ä¤T¤è¥\¯àÀ³¥Î¡A¦pDRF®Ø¬[¶}µoAPI±µ¤f¡B¥Í¦¨ºô¯¸ÅçÃÒ½X¡B¯¸¤º·j¯Á¤ÞÀº¡B²Ä¤T¤èºô¯¸¹ê²{½ã¸¹ª`¥U¡B²§¨B¥ô°È©M©w®É¥ô°È¡B§Y®É³q«H¹ê²{¦b½u²á¤Ñ¡C
²Ä13³¹Á¿­z«H®§¤ÏõX¥­»Oªº¶}µo¡A«H®§¤ÏõX¥­»Oªº¥\¯à¥]¬A«H®§¤ÏõX­¶­±¡BAdmin¦Z»O¨t²Î¡B¦Û©w¸q²§±`¾÷¨î©M³æ¤¸´ú¸Õ¡C
²Ä14³¹Á¿­z³Õ«È¨t²Îªº¶}µo¡Aºô¯¸¥\¯à¥]¬A¥Î¤á¡]³Õ¥D¡^ª`¥U©Mµn¿ý¡B³Õ¥D¸ê®Æ«H®§¡B¹Ï¤ùùÙ¥\¯à¡B¯d¨¥ªO¥\¯à¡B¤å³¹¦Cªí¡B¤å³¹¥¿¤å¤º®e©MAdmin¦Z»O¨t²Î¡C
²Ä15³¹Á¿­z­µ¼Öºô¯¸¥­»Oªº¶}µo¡Aºô¯¸¥D­n¥\¯à¦³­º­¶¡B±Æ¦æº]¡Bºq¦±¼½©ñ¡Bºq¦±ÂIµû¡Bºq¦±·j¯Á¡B¥Î¤áª`¥U©Mµn¿ý¡B¥Î¤á¤¤¤ß¡BAdmin¦Z»OºÞ²z©Mºô¯¸²§±`¾÷¨î¡C
²Ä16³¹¤À§OÁ¿­z«e¦ZºÝ¤ÀÂ÷ªº¶}µo¼Ò¦¡©M·LªA°È¬[ºc³]­p­ì²z¡CDjango¥u»Ý½s¼gAPI±µ¤f¡Aºô¯¸ªº·~°ÈÅÞ¿è¡B¼Æ¾Ú´è¬V¥H¤Î°ÊºA«H®§¥Ñ«eºÝ§¹¦¨¡F·LªA°È¬O¤@ºØºô¯¸¬[ºc·§©À¡A¥]§t¤F¶}µo¡B´ú¸Õ¡B³¡¸p©M¹Bºûµ¥¦h¤è­±¦]¯À¡A¦}Á¿­z¤F·LªA°ÈªºJWT»{ÃÒ¡BªA°Èµo²{»Pª`¥Uµ¥¥\¯à¡C
²Ä17³¹¤À§OÁ¿­zDjango¦p¦ó³¡¸p¦bWindows©MLinux¨t²Î¡CWindows¨t²Îªö¥ÎIISªA°È¾¹+wfastcgi+Django¹ê²{³¡¸p¹Lµ{¡FLinux¨t²Îªö¥ÎNginx+uWSGI+Django¹ê²{³¡¸p¹Lµ{¡C
¥»®Ñ¯S¦â
´`§Çº¥¶i¡Aª¾ÃÑ¥þ­±¡G¥»®Ñ¯¸¦bªì¾ÇªÌªº¨¤«×¡A³ò¶·sª©¥»Django 3®Ø¬[®i¶}Á¿¸Ñ¡A±qªì¾ÇªÌ¥²³Æªº°ò¦ª¾Ãѵۤâ¡A´`§Çº¥¶i¦a¤¶²Ð¤FDjango 3ªº¦UºØª¾ÃÑ¡A¥]¬A°ò¥»·§©À¡B¥\¯à¯S©Ê¡B¤u¨ã¨Ï¥Î¡BÂX®iª¾Ãѵ¥¡A¤º®e´X¥G²[»\¤FDjango 3ªº©Ò¦³¥\¯à¡A¬O¤@¥»¤º®e¥þ­±ªº¹ê¾Ô§Þ³N«ü«n¡C
ª`­«¹ê¾Ô¡A¶µ¥ØÂ×´I¡G¬°´£¤ÉŪªÌªº¶}µo§Þ¯à¡A¥»®Ñºë¿ï¤F½sªÌªñ¦~¨Ó°Ñ»P¶}µoªº3­Ó¶µ¥Ø¡A³o¨Ç¶µ¥Ø¦U¦³¤£¦P¥\¯à¡A¦}¥þ³¡µ¹¥X¤F¥\¯à¬[ºc´y­z©M¥N½X¹ê²{¡A¥i¥H¨ÏŪªÌ¯u¹ê¦a¾Ç¨ì¦p¦ó¥ÎDjango¶}µo¤@­Ó¶µ¥Ø¡A¸Ñ¨M¶}µo¤¤¥i¯à¹J¨ìªº¦UºØ°ÝÃD¡A¬O´£¤ÉŪªÌ¹ê»Ú¶}µo¯à¤Oªº³Ì¨Î¹ê½î¡C
§Þ³N¥ý¶i¡A»P®É­Ñ¶i¡Gªñ¦~¨Ó¥þ´Ì»P·LªA°È¶}µoÀò±o¼sªxÀ³¥Î¡A²@µLºÃ°Ý¡ADjango®Ø¬[¦P¼Ë¥i¥H¹ê²{·LªA°È¬[ºc¡A¦]¦¹¥»®Ñ±Mªù¦³¤@³¹¤º®eÁ¿¸Ñ¤F«e¦ZºÝ¤ÀÂ÷¶}µo¼Ò¦¡¥H¤Î·LªA°È¶}µoªº¬ÛÃöª¾ÃÑ¡A¦¹¥~¡ADjango 3·s¤Þ¤Jªº²§¨B½sµ{¤]¦b¥»®Ñ¤¤¶i¦æ¤F¸Ô²ÓÁ¿¸Ñ¡AŪªÌ±q¥»®Ñ¥i¥H²`¤Á¦a·P¨ì½sªÌ¦b³o¤è­±ªº¥Î¤ß¡C
¥i¥H³o¼Ë»¡¡A¥»®Ñ¶°·sª©¥»¯S©Ê¡B¶}µo¤ß±o»P«eªu§Þ³N¬°¤@Åé¡A¥ô¦ó¨Ï¥ÎDjango¶}µoWeb¶µ¥ØªºÅªªÌ³£¥i¥H±q¥»®Ñ¤¤Àò¯q¡C
·½¥N½X¤U¸ü
¥»®Ñ©Ò¦³µ{§Ç¥N½X§¡¦bPython 3.8©MDjango 3.1¤U½Õ¸Õ³q¹L¡A·½½XGitHub¤U¸ü¦a§}

©ÎªÌ±½´y¤U­±ªº¤Gºû½X¤U¸ü¡G

¦pªG§A¦b¤U¸ü¹Lµ{¤¤¹J¨ì°ÝÃD¡A¥iµo°e¶l¥óÀò±oÀ°§U¡A¶l¥ó¼ÐÃD¬°¡§Django3 WebÀ³¥Î¶}µo¹ê¾Ô¡¨¡C
ŪªÌ¹ï¶H
¥»®Ñ¥D­n¾A¦X¥H¤UŪªÌ¾\Ū¡G
? Djangoªì¾ÇªÌ¤Î¦b®Õ¾Ç¥Í
? Django¶}µo¤uµ{®v
? ±q¨ÆPythonºô¯¸¶}µoªº§Þ³N¤H­û
? ¨ä¥L¹ïDjango·P¿³½ìªº¤H­û
ÁöµMµ§ªÌ¤O¨D¥»®Ñ§ó¿²§¹¬ü¡A¦ý¥Ñ¤_¤ô¥­©Ò­­¡AÃø§K·|¥X²{¿ù»~¡A¯S§O¬ODjangoª©¥»§ó·s¥i¯à¾É­P·½¥N½X¦b¹B¦æ¹Lµ{¤¤¥X²{°ÝÃD¡AÅwªï¼s¤jŪªÌ©M±M®aµ¹¤©«ü¥¿¡Aµ§ªÌ±N¤Q¤À·PÁ¡C


¶À¥Ã²»
2021¦~5¤ë1¤é
¤º®e²¤¶¡G

¥»®Ñ¥HDjango Web¶µ¥Ø¶}µo¬°¥D½u¡A²`¤J¨t²Î¦a¤¶²Ð¤FDjango 3¦bWeb¶}µo¤¤ªºÀ³¥Î¡C±qºô¯¸¶}µo¤Jªù¶}©l¡A³v¨B²`¤JÁ¿­zDjango®Ø¬[ªº¦U¥\¯à­nÂI¡A¨C­Ó¥\¯à­nÂI±q·½½X¨¤«×¤ÀªR¡A¦}¦b·½½Xªº°ò¦¤W¹ê²{¦Û©w¸qªº¥\¯à¶}µo¡CÁÙ¤¶²Ð¤FDjangoªº²Ä¤T¤è¥\¯àÀ³¥Î¡A¦pDRF®Ø¬[¶}µoAPI±µ¤f¡B¥Í¦¨ºô¯¸ÅçÃÒ½X¡B¯¸¤º·j¯Á¤ÞÀº¡B²Ä¤T¤èºô¯¸¹ê²{½ã¸¹ª`¥U¡B²§¨B¥ô°È©M©w®É¥ô°È¡B§Y®É³q«H¹ê²{¦b½u²á¤Ñ¡C¥»®Ñ´£¨Ñ¤F4­Ó¹ê¾Ô®×¨Ò¡A¥]¬A«H®§¤ÏõX¥­»O¡B³Õ«È¨t²Î¡B­µ¼Öºô¯¸¥­»O¡B«e¦ZºÝ¤ÀÂ÷»P·LªA°È¬[ºc¡A²[»\¤Fºô¯¸ªº³æÅ馡¶}µo¡B«e¦ZºÝ¤ÀÂ÷©M·LªA°È¶}µo¡A±q³æ¤@ªººô¯¸¶}µoÂàÅܨìºô¯¸¬[ºc³]­p¶}µo¡C³Ì¦ZÁ¿­zDjangoªº¤W½u³¡¸p¤è®×¡A¤À§OÁ¿­zDjango¦p¦ó³¡¸p¦bWindows©MLinux¨t²Î¤W¡C
¥»®Ñ¤º®eÂ×´I¡A§Þ³N·s¿o¡Aª`­«¹ê¾Ô¡A¾A¦X¦³¤@©wPython°ò¦ªºWeb¶}µo¤H­û¾\Ū¡A¤]¥i¥Î§@°ö°V¾÷ºc©M¤j¤¤±M°|®Õ¬ÛÃö±M·~ªº±Ð¾Ç°Ñ¦Ò®Ñ¡C
¥Ø¿ý¡G

²Ä1³¹Django«Ø¯¸°ò¦ 1
1.1ºô¯¸ªº©w¸q¤Î²Õ¦¨ 1
1.2ºô¯¸ªº¤ÀÃþ 2
1.3ºô¯¸¹B¦æ­ì²z¤Î¶}µo¬yµ{ 4
1.3.1±`¥Î³N»y 4
1.3.2ºô¯¸ªº¹B¦æ­ì²z 4
1.3.3ºô¯¸ªº¶}µo¬yµ{ 5
1.3.4¥ô°È¹º¤À 5
1.4¨«¶iDjango 6
1.5¦w¸ËDjango 6
1.6³Ð«Ø¶µ¥Ø 7
1.7PyCharm³Ð«Ø¶µ¥Ø 9
1.8¶}±ÒDjangoHelloWorld 11
1.8.1Djangoªº¾Þ§@«ü¥O 11
1.8.2¶}±ÒHelloWorld¤§®È 13
1.9½Õ¸ÕDjango¶µ¥Ø 15
1.9.1PyCharmÂ_ÂI½Õ¸Õ 15
1.9.2½Õ¸Õ²§±` 17
1.10HTML¡BCSS©MJavaScript 19
1.10.1HTML 19
1.10.2CSS 21
1.10.3JavaScript 24
1.11¥»³¹¤pµ² 26
²Ä2³¹Django°t¸m«H®§ 29
2.1°ò¥»°t¸m«H®§ 29
2.2¸ê·½¤å¥ó°t¸m 31
2.2.1¸ê·½¸ô¥Ñ¡X¡XSTATIC_URL 31
2.2.2¸ê·½¶°¦X¡X¡XSTATICFILES_DIRS 32
2.2.3¸ê·½³¡¸p¡X¡XSTATIC_ROOT 33
2.2.4´CÅé¸ê·½¡X¡XMEDIA 34
2.3¼ÒªO°t¸m 35
2.4¼Æ¾Ú®w°t¸m 37
2.4.1mysqlclient³s±µMySQL 37
2.4.2pymysql³s±µMySQL 39
2.4.3¦h­Ó¼Æ¾Ú®wªº³s±µ¤è¦¡ 40
2.4.4¨Ï¥Î°t¸m¤å¥ó°ÊºA³s±µ¼Æ¾Ú®w 41
2.4.5³q¹LSSHÀG¹D»·µ{³s±µMySQL 43
2.5¤¤¶¡¥ó 45
2.6¥»³¹¤pµ² 46
²Ä3³¹ªì±´¸ô¥Ñ 48
3.1¸ô¥Ñ©w¸q³W«h 48
3.1.1Django2¥H¤Wª©¥»¸ô¥Ñ©w¸q 48
3.1.2Django1.X¸ô¥Ñ©w¸q 51
3.1.3¸ô¥ÑÅܶqªº³]¸m 52
3.1.4¥¿«hªí¹F¦¡ªº¸ô¥Ñ©w¸q 55
3.2©R¦WªÅ¶¡»P¸ô¥Ñ©R¦W 56
3.2.1©R¦WªÅ¶¡namespace 56
3.2.2¸ô¥Ñ©R¦Wname 57
3.3¸ô¥Ñªº¨Ï¥Î¤è¦¡ 59
3.3.1¦b¼ÒªO¤¤¨Ï¥Î¸ô¥Ñ 59
3.3.2¤Ï¦V¸ÑªRreverse»Presolve 62
3.3.3¸ô¥Ñ­«©w¦V 65
3.4¥»³¹¤pµ² 67
²Ä4³¹±´¨sFBVµø¹Ï 69
4.1³]¸mÅTÀ³¤è¦¡ 69
4.1.1ªð¦^ÅTÀ³¤º®e 69
4.1.2³]¸m­«©w¦V 73
4.1.3²§±`ÅTÀ³ 75
4.1.4¤å¥ó¤U¸ü¥\¯à 77
4.2HTTP½Ð¨D¹ï¶H 81
4.2.1Àò¨ú½Ð¨D«H®§ 82
4.2.2¤å¥ó¤W¶Ç¥\¯à 85
4.2.3Cookie¹ê²{¤Ïª¦ÂÎ 90
4.2.4½Ð¨DÀY¹ê²{¤Ïª¦ÂÎ 97
4.3¥»³¹¤pµ² 100

²Ä5³¹±´¨sCBVµø¹Ï 102
5.1¼Æ¾ÚÅã¥Üµø¹Ï 102
5.1.1­«©w¦Vµø¹ÏRedirectView 102
5.1.2°ò¦µø¹ÏTemplateView 105
5.1.3¦Cªíµø¹ÏListView 107
5.1.4¸Ô²Óµø¹ÏDetailView 112
5.2¼Æ¾Ú¾Þ§@µø¹Ï 115
5.2.1ªí³æµø¹ÏFormView 115
5.2.2·s¼Wµø¹ÏCreateView 118
5.2.3­×§ïµø¹ÏUpdateView 120
5.2.4§R°£µø¹ÏDeleteView 122
5.3¤é´Á¿z¿ïµø¹Ï 124
5.3.1¤ë¥÷µø¹ÏMonthArchiveView 126
5.3.2©P´Áµø¹ÏWeekArchiveView 131
5.4¥»³¹¤pµ² 133
²Ä6³¹²`¤J¼ÒªO 135
6.1Django¼ÒªO¤ÞÀº 135
6.1.1¼ÒªO¤W¤U¤å 135
6.1.2¦Û©w¸q¼Ðñ 137
6.1.3¼ÒªOÄ~©Ó 141
6.1.4¦Û©w¸q¹LÂo¾¹ 143
6.2Jinja2¼ÒªO¤ÞÀº 147
6.2.1¦w¸Ë»P°t¸m 148
6.2.2¼ÒªO»yªk 151
6.2.3¦Û©w¸q¹LÂo¾¹ 153
6.3¥»³¹¤pµ² 154
²Ä7³¹¼Ò«¬»P¼Æ¾Ú®w 156
7.1¼Ò«¬©w¸q»P¼Æ¾Ú¾E²¾ 156
7.1.1©w¸q¼Ò«¬ 157
7.1.2¶}µo­Ó¤HªºORM®Ø¬[ 160
7.1.3¼Æ¾Ú¾E²¾ 163
7.1.4¼Æ¾Ú¾É¤J»P¾É¥X 167
7.2¼Æ¾ÚªíÃö¨t 168
7.3¼Æ¾Úªí¾Þ§@ 172
7.3.1¼Æ¾Ú·s¼W 173
7.3.2¼Æ¾Ú­×§ï 175
7.3.3¼Æ¾Ú§R°£ 176
7.3.4¼Æ¾Ú¬d¸ß 177
7.3.5¦hªí¬d¸ß 181
7.3.6°õ¦æSQL»y¥y 185
7.3.7¼Æ¾Ú®w¨Æ°È 186
7.4¦h¼Æ¾Ú®wªº³s±µ»P¨Ï¥Î 189
7.4.1¦h¼Æ¾Ú®wªº³s±µ 189
7.4.2¦h¼Æ¾Ú®wªº¨Ï¥Î 191
7.5°ÊºA³Ð«Ø¼Ò«¬»P¼Æ¾Úªí 194
7.6MySQL¤Àªí¥\¯à 197
7.7¥»³¹¤pµ² 201
²Ä8³¹ªí³æ»P¼Ò«¬ 203
8.1ªìÃѪí³æ 203
8.2·½½X¤ÀªRForm 207
8.3·½½X¤ÀªRModelForm 213
8.4µø¹Ï¨½¨Ï¥ÎForm 217
8.5µø¹Ï¨½¨Ï¥ÎModelForm 219
8.6¦P¤@ºô­¶¦h­Óªí³æ 222
8.7¤@­Óªí³æ¦h­Ó«ö¶s 225
8.8ªí³æªº§å¶q³B²z 227
8.9¦h¤å¥ó§å¶q¤W¦s 231
8.10¥»³¹¤pµ² 236
²Ä9³¹Admin¦Z»O¨t²Î 238
9.1¨«¶iAdmin 238
9.2·½½X¤ÀªRModelAdmin 242
9.3Admin­º­¶³]¸m 247
9.4Adminªº¤G¦¸¶}µo 249
9.4.1¨ç¼Æget_readonly_fields() 250
9.4.2³]¸m¦r¬q¼Ë¦¡ 251
9.4.3¨ç¼Æget_queryset() 253
9.4.4¨ç¼Æformfield_for_foreignkey() 253
9.4.5¨ç¼Æformfield_for_choice_field() 254
9.4.6¨ç¼Æsave_model() 255
9.4.7¼Æ¾Ú§å¶q¾Þ§@ 257
9.4.8¦Û©w¸qAdmin¼ÒªO 258
9.4.9¦Û©w¸qAdmin¦Z»O¨t²Î 260
9.5¥»³¹¤pµ² 266
²Ä10³¹Auth»{ÃÒ¨t²Î 268
10.1¤º¸mUser¹ê²{¥Î¤áºÞ²z 268
10.2µo°e¶l¥ó¹ê²{±K½X§ä¦^ 276
10.3¼Ò«¬UserªºÂX®i»P¨Ï¥Î 283
10.4Åv­­ªº³]¸m»P¨Ï¥Î 290
10.5¦Û©w¸q¥Î¤áÅv­­ 292
10.6³]¸mºô­¶ªº³X°ÝÅv­­ 294
10.7¥Î¤á²Õªº³]¸m»P¨Ï¥Î 300
10.8¥»³¹¤pµ² 302
²Ä11³¹±`¥ÎªºWebÀ³¥Îµ{§Ç 305
11.1·|¸Ü±±¨î 305
11.1.1·|¸Üªº°t¸m»P¾Þ§@ 305
11.1.2¨Ï¥Î·|¸Ü¹ê²{°Ó«~·mÁÊ 309
11.2½w¦s¾÷¨î 315
11.2.1½w¦sªºÃþ«¬»P°t¸m 316
11.2.2½w¦sªº¨Ï¥Î 318
11.3CSRF¨¾Å@ 322
11.4®ø®§®Ø¬[ 324
11.4.1·½½X¤ÀªR®ø®§®Ø¬[ 324
11.4.2®ø®§®Ø¬[ªº¨Ï¥Î 326
11.5¤À­¶¥\¯à 330
11.5.1·½½X¤ÀªR¤À­¶¥\¯à 330
11.5.2¤À­¶¥\¯àªº¨Ï¥Î 333
11.6°ê»Ú¤Æ©M¥»¦a¤Æ 337
11.6.1Àô¹Ò·f«Ø»P°t¸m 337
11.6.2³]¸m°ê»Ú¤Æ 338
11.6.3³]¸m¥»¦a¤Æ 340
11.7³æ¤¸´ú¸Õ 341
11.7.1©w¸q´ú¸ÕÃþ 342
11.7.2¹B¦æ´ú¸Õ¥Î¨Ò 348
11.8¦Û©w¸q¤¤¶¡¥ó 349
11.8.1¤¤¶¡¥óªº©w¸q¹Lµ{ 349
11.8.2¤¤¶¡¥ó¹ê²{Cookie¤Ïª¦ÂÎ 352
11.9²§¨B½sµ{ 355
11.9.1¨Ï¥Î¦h½uµ{ 355
11.9.2±Ò¥ÎASGIªA°È 358
11.9.3²§¨Bµø¹Ï 359
11.9.4²§¨B»P¦P¨BªºÂà´« 362
11.10«H¸¹¾÷¨î 363
11.10.1¤º¸m«H¸¹ 363
11.10.2¦Û©w¸q«H¸¹ 367
11.10.3­q³æ³Ð«Ø»P¨ú®ø 369
11.11¥»³¹¤pµ² 373
²Ä12³¹²Ä¤T¤è¥\¯àÀ³¥Î 377
12.1DjangoRestFramework®Ø¬[ 377
12.1.1DRFªº¦w¸Ë»P°t¸m 377
12.1.2§Ç¦C¤ÆÃþSerializer 379
12.1.3¼Ò«¬§Ç¦C¤ÆÃþModelSerializer 383
12.1.4§Ç¦C¤Æªº´O®M¨Ï¥Î 386
12.2ÅçÃÒ½X¥Í¦¨»P¨Ï¥Î 389
12.2.1DjangoSimpleCaptchaªº¦w¸Ë»P°t¸m 389
12.2.2¨Ï¥ÎÅçÃÒ½X¹ê²{¥Î¤áµn¿ý 392
12.3¯¸¤º·j¯Á¤ÞÀº 396
12.3.1DjangoHaystackªº¦w¸Ë»P°t¸m 396
12.3.2¨Ï¥Î·j¯Á¤ÞÀº¹ê²{²£«~·j¯Á 399
12.4²Ä¤T¤èºô¯¸¹ê²{¥Î¤áª`¥U 404
12.4.1Social-Auth-App-Djangoªº¦w¸Ë»P°t¸m 405
12.4.2·L³Õ½ã¸¹¹ê²{¥Î¤áª`¥U 409
12.5²§¨B¥ô°È©M©w®É¥ô°È 411
12.5.1Celeryªº¦w¸Ë»P°t¸m 411
12.5.2²§¨B¥ô°È 413
12.5.3©w®É¥ô°È 416
12.6§Y®É³q«H¡X¡X¦b½u²á¤Ñ 417
12.6.1Channelsªº¦w¸Ë»P°t¸m 418
12.6.2Web¦b½u²á¤Ñ¥\¯à 421
12.7¥»³¹¤pµ² 425
²Ä13³¹«H®§¤ÏõX¥­»Oªº³]­p»P¹ê²{ 427
13.1¶µ¥Ø³]­p»P°t¸m 427
13.1.1¶µ¥Ø¬[ºc³]­p 428
13.1.2MySQL·f«Ø»P°t¸m 429
13.1.3¥\¯à°t¸m 431
13.1.4¼Æ¾Ú®w¬[ºc³]­p 433
13.2µ{§Ç¥\¯à¶}µo 434
13.2.1¸ô¥Ñ»Pµø¹Ï¨ç¼Æ 434
13.2.2¨Ï¥ÎJinja2½s¼g¼ÒªO¤å¥ó 436
13.2.3Admin¦Z»O¨t²Î 439
13.3´ú¸Õ»P¹B¦æ 440
13.3.1½s¼g³æ¤¸´ú¸Õ 440
13.3.2¹B¦æ»P¤W½u 442
13.4¥»³¹¤pµ² 445
²Ä14³¹­Ó¤H³Õ«È¨t²Îªº³]­p»P¹ê²{ 447
14.1¶µ¥Ø³]­p»P°t¸m 447
14.1.1¶µ¥Ø¬[ºc³]­p 450
14.1.2¥\¯à°t¸m 451
14.1.3¼Æ¾Úªí¬[ºc³]­p 453
14.1.4©w¸q¸ô¥Ñ¦Cªí 456
14.1.5½s¼g¦@¥Î¼ÒªO 457
14.2ª`¥U»Pµn¿ý 460
14.3³Õ¥D¸ê®Æ«H®§ 464
14.4¹Ï¤ùùÙ¥\¯à 466
14.5¯d¨¥ªO¥\¯à 468
14.6¤å³¹¦Cªí 472
14.7¤å³¹¥¿¤å¤º®e 475
14.8Admin¦Z»O¨t²Î 479
14.8.1¼Ò«¬ªº¼Æ¾ÚºÞ²z 479
14.8.2¦Û©w¸qAdminªºµn¿ý­¶­± 483
14.8.3DjangoCKEditor¥Í¦¨¤å³¹½s¿è¾¹ 485
14.9´ú¸Õ»P³¡¸p 488
14.9.1´ú¸Õ·~°ÈÅÞ¿è 488
14.9.2¤W½u³¡¸p 492
14.10¥»³¹¤pµ² 493
²Ä15³¹­µ¼Öºô¯¸¥­»Oªº³]­p»P¹ê²{ 495
15.1¶µ¥Ø³]­p»P°t¸m 495
15.1.1¶µ¥Ø¬[ºc³]­p 499
15.1.2¥\¯à°t¸m 500
15.1.3¼Æ¾Úªí¬[ºc³]­p 502
15.1.4©w¸q¸ô¥Ñ¦Cªí 506
15.1.5½s¼g¦@¥Î¼ÒªO 507
15.2ºô¯¸­º­¶ 507
15.3ºq¦±±Æ¦æº] 513
15.4ºq¦±·j¯Á 517
15.5ºq¦±¼½©ñ»P¤U¸ü 521
15.6ºq¦±ÂIµû 528
15.7ª`¥U»Pµn¿ý 533
15.8¥Î¤á¤¤¤ß 537
15.9Admin¦Z»O¨t²Î 541
15.10¦Û©w¸q²§±`­¶­± 544
15.11³¡¸p»P¹B¦æ 545
15.11.1¤W½u³¡¸p 546
15.11.2ºô¯¸¸Õ¹B¦æ 547
15.12¥»³¹¤pµ² 548
²Ä16³¹°ò¤_«e¦ZºÝ¤ÀÂ÷»P·LªA°È¬[ºcªººô¯¸¶}µo 550
16.1Vue®Ø¬[ 550
16.1.1Vue¶}µo²£«~«H®§­¶ 550
16.1.2Vueµo°eAJAX½Ð¨D 554
16.2Django¶}µoAPI±µ¤f 555
16.2.1²¤ÆDjango¤º¸m¥\¯à 555
16.2.2³]¸m¸ó°ì³X°Ý 557
16.2.3¨Ï¥Î¸ô¥Ñµø¹Ï¶}µoAPI±µ¤f 558
16.2.4DRF®Ø¬[¶}µoAPI±µ¤f 561
16.3·LªA°È¬[ºc 562
16.3.1·LªA°È¹ê²{­ì²z 562
16.3.2¥\¯à©î¤À 565
16.3.3³]­pAPIºôÃö 569
16.3.4½Õ¸Õ»P¹B¦æ 572
16.4JWT»{ÃÒ 573
16.4.1»{ÃÑJWT 573
16.4.2DRFªºJWT 574
16.5·LªA°Èª`¥U»Pµo²{ 582
16.5.1±`¥ÎªºªA°Èª`¥U»Pµo²{®Ø¬[ 582
16.5.2Consulªº¦w¸Ë»P±µ¤f 583
16.5.3Django»PConsulªº¥æ¤¬ 587
16.5.4ªA°Èªº¹B¦æ»P³¡¸p 592
16.5.5ªA°Èªº­t¸ü§¡¿Å 596
16.6¥»³¹¤pµ² 597
²Ä17³¹Django¶µ¥Ø¤W½u³¡¸p 599
17.1°ò¤_Windows³¡¸pDjango 599
17.1.1¦w¸ËIISªA°È¾¹ 599
17.1.2³Ð«Ø¶µ¥Ø¯¸ÂI 601
17.1.3°t¸mÀRºA¸ê·½ 604
17.2°ò¤_Linux³¡¸pDjango 605
17.2.1¦w¸ËLinuxµêÀÀ¾÷ 605
17.2.2¦w¸ËPython3 611
17.2.3³¡¸puWSGIªA°È¾¹ 612
17.2.4¦w¸ËNginx³¡¸p¶µ¥Ø 615
17.3¥»³¹¤pµ² 616
ªþ¿ýADjango­±¸ÕÃD 618
ªþ¿ýBDjango¸ê·½¦Cªí 622
§Ç¡G