ๅทฒ่งฃๆฑบ๏ผšpython ๅœจไปปไฝ•ๅœฐๆ–น้ƒฝๅชๆ˜ฏๆ‰“ๆ‹›ๅ‘ผ

็•ถ็„ถ๏ผŒๆˆ‘ๅฐ‡ๅ‰ตๅปบไธ€็ฏ‡ๅ…งๅฎน่ฑๅฏŒ็š„ๅ…งๅฎนไพ†่งฃ้‡‹ PythonAnywhere ๅนณๅฐ๏ผŒ่ฉฒๅนณๅฐๆ˜ฏไธ€็จฎๆต่กŒ็š„ๅœจ็ทš้›†ๆˆ้–‹็™ผ็’ฐๅขƒ (IDE)๏ผŒๅปฃๆณ›็”จๆ–ผ็›ดๆŽฅๅพž Web ็€่ฆฝๅ™จ็ทจๅฏซใ€็ทจ่ญฏๅ’Œ้‹่กŒ Python ไปฃ็ขผใ€‚

Python็„ก่™•ไธๅœจ ๆ˜ฏไธ€ๅ€‹ Python ้–‹็™ผๅ’Œ่จ—็ฎก็’ฐๅขƒ๏ผŒ้กฏ็คบๅœจ Web ็€่ฆฝๅ™จไธญไธฆๅœจๆœๅ‹™ๅ™จไธŠ้‹่กŒใ€‚ ๅฎƒๆ˜ฏไธ€ๅ€‹ๆˆ็†Ÿ็š„ Python ็’ฐๅขƒ๏ผŒๅ› ๆญคๆ‚จๅฏไปฅไฝฟ็”จ pip ๅ’Œ conda ็ฎก็† Python ๅŒ…ใ€‚

ไบ†่งฃๆ›ดๅคš

ๅทฒ่งฃๆฑบ๏ผšไธป็ฎกgunicorn virtualenv

็š„ๅˆไฝœ ็›ฃ, ็จ่ง’็ธๅ’Œ ่™›ๆ“ฌ็’ฐๅขƒ ๅทฒๆˆ็‚บ Python Web ๆ‡‰็”จ็จ‹ๅบ้–‹็™ผ้ ˜ๅŸŸ็š„ไธป่ฆๅ…งๅฎนใ€‚ ๅœจๆ•ดๅ€‹็ฏ„ๅœๅ…ง๏ผŒๅพž่ผ•้‡็ดšๆ‡‰็”จ็จ‹ๅบๅˆฐๆปฟ่ถณๆ•ธ็™พ่ฌ็”จๆˆถ้œ€ๆฑ‚็š„้‡ๅž‹ๆ‡‰็”จ็จ‹ๅบ๏ผŒ้€™ไบ›็ต„ไปถๅ–ฎ็จๆˆ–ๅ…ฑๅŒๅœจ Web ๆœๅ‹™็š„้ซ˜ๆ•ˆๅ’Œๅนณ็ฉฉ้‹่กŒไธญ็™ผๆฎ่‘—้—œ้ตไฝœ็”จใ€‚

ๅœจๆœฌๆ–‡ไธญ๏ผŒๆˆ‘ๅ€‘ๅฐ‡้€ๆญฅๅ‰–ๆž Supervisorใ€Gunicorn ๅ’Œ Virtualenv ๅพž่จญ็ฝฎๅˆฐๅŸท่กŒ็š„ไบ’้€ฃๅทฅไฝœใ€‚

ไบ†่งฃๆ›ดๅคš

ๅทฒ่งฃๆฑบ๏ผšๅœจPythonไธญ้‹่กŒflask

ๅœจ Python ไธญ้‹่กŒ Flask ๆ˜ฏไธ€ๅ€‹้žๅธธ้‡่ฆ็š„่ฉฑ้กŒ๏ผŒๅ› ็‚บๅฎƒๅœจ Web ๆ‡‰็”จ็จ‹ๅบ้–‹็™ผไธญๅ…ทๆœ‰ๅคšๅŠŸ่ƒฝๆ€งๅ’Œ้ซ˜ๆ•ˆๆ€งใ€‚ ่ฆ็œŸๆญฃ็†่งฃ Flask๏ผŒๆœ‰ๅฟ…่ฆไบ†่งฃๅฎƒ็š„่ตทๆบๅ’ŒๅŠŸ่ƒฝใ€‚ Flask ๆ˜ฏไธ€ๅ€‹็”จ Python ็ทจๅฏซ็š„ๅ…่ฒป้–‹ๆบๅพฎๅž‹ Web ๆก†ๆžถใ€‚ ๅฎƒ็š„โ€œmicroโ€ๅ‰็ถดไธฆไธๆ„ๅ‘ณ่‘— Flask ็ผบไนๅŠŸ่ƒฝ๏ผŒ่€Œๆ˜ฏๆ„ๅ‘ณ่‘—ๅฎƒๅ„ชๅ…ˆ่€ƒๆ…ฎๆจกๅกŠๅŒ–ๅ’Œ็ฐกๅ–ฎๆ€ง๏ผŒ็‚บ้–‹็™ผไบบๅ“กๆง‹ๅปบ่ค‡้›œ็š„ Web ๆ‡‰็”จ็จ‹ๅบๆไพ›ๅฟ…่ฆ็š„ๅทฅๅ…ท๏ผŒๅŒๆ™‚ไฟๆŒๅฐๆ‡‰็”จ็จ‹ๅบ็ต„ไปถ็š„ๆŽงๅˆถใ€‚ Flask ้€šๅธธๅ› ๅ…ถๆ˜“ๆ–ผไฝฟ็”จ็š„่ชžๆณ•ใ€ๆจกๅกŠๅŒ–ๅ’Œ่ฑๅฏŒ็š„ๆ“ดๅฑ•็”Ÿๆ…‹็ณป็ตฑ่€Œ่ขซ้ธๆ“‡ใ€‚

ไบ†่งฃๆ›ดๅคš

่งฃๆฑบ๏ผšไธŠๅ‚ณๆ–‡ไปถๅˆฐๆœฌๅœฐs3

็•ถ็„ถ๏ผŒๆˆ‘ๅฐ‡ๅฏซไธ€็ฏ‡ๆœ‰้—œไฝฟ็”จ Python ๅฐ‡ๆ–‡ไปถไธŠๅ‚ณๅˆฐๆœฌๅœฐ AWS S3 ๅญ˜ๅ„ฒๆกถ็š„ๆ–‡็ซ ใ€‚

้›ฒๅ„ฒๅญ˜ ็”ฑๆ–ผๅ…ถๅฏๆ“ดๅฑ•ๆ€งๅ’Œ่€็”จๆ€ง๏ผŒๆญฃๅœจๆˆ็‚บ่ถŠไพ†่ถŠๅ—ๆญก่ฟŽ็š„ๆ–‡ไปถๅญ˜ๅ„ฒ้ธๆ“‡ใ€‚ Amazon S3๏ผˆๅณ็ฐกๅ–ฎๅญ˜ๅ„ฒๆœๅ‹™๏ผ‰ๅฐฑๆ˜ฏไธ€็จฎ็ถ“ๆฟŸ้ซ˜ๆ•ˆ็š„้›ฒๅญ˜ๅ„ฒๆœๅ‹™๏ผŒๅฏไปฅๅญ˜ๅ„ฒๅ’Œๆชข็ดขไปปๆ„ๆ•ธ้‡็š„ๆ•ธๆ“šใ€‚

ไบ†่งฃๆ›ดๅคš

ๅทฒ่งฃๆฑบ๏ผšๆ“ดๅฑ•ๅ…ฉๅ€‹base.html

ๅœจ่™•็† Web ้–‹็™ผๆ™‚๏ผŒๅคงๅคšๆ•ธ้–‹็™ผไบบๅ“ก้‡ๅˆฐ็š„้‡่ฆๅ…ƒ็ด ไน‹ไธ€ๆ˜ฏๅœจๆ•ดๅ€‹็ถฒ็ซ™ไธŠๅ‘ˆ็พ็›ธๅŒ็š„ๅค–่ง€ๅ’Œๆ„Ÿ่ฆบใ€‚ ๅฏฆ็พ้€™็จฎไธ€่‡ดๆ€ง็š„ๆœ€ๆœ‰ๆ•ˆๆ–นๆณ•ไน‹ไธ€ๆ˜ฏๅœจ Django๏ผˆไธ€็จฎๅฏไฟƒ้€ฒๅฟซ้€Ÿ้–‹็™ผ็š„้ซ˜็ดš Python Web ๆก†ๆžถ๏ผ‰ไธญไฝฟ็”จๅŸบๆœฌๆจกๆฟๆˆ– base.htmlใ€‚ Drupal ๅ……ๅˆ†ๅˆฉ็”จไบ†็นผๆ‰ฟ็š„ๆฆ‚ๅฟต๏ผŒไธฆๆไพ›ไบ†ไธ€็จฎๅฐ‡ๅŸบๆœฌๆจกๆฟๆ“ดๅฑ•ๅˆฐๅคšๅ€‹ๅญๆจกๆฟ็š„ๆฉŸๅˆถใ€‚

ไบ†่งฃๆ›ดๅคš

ๅทฒ่งฃๆฑบ๏ผš็คบไพ‹

็•ถ็„ถ๏ผ ๆœฌๆ–‡ๆ˜ฏ้—œๆ–ผไฝฟ็”จ Python ็ทจ็จ‹่งฃ่ฎ€ๆ™‚ๅฐš่ถจๅ‹ขใ€‚

ๆ™‚ๅฐšไธๅƒ…ๅƒ…ๆ˜ฏๅฅฝ็œ‹๏ผ› ๅฎƒ้—œไนŽ่กจ้”ใ€่บซไปฝๅ’Œๆ–‡ๅŒ–ใ€‚ ๅฎƒ้šจ่‘—ๆ™‚้–“็š„ๆŽจ็งป่€Œ็™ผๅฑ•๏ผŒๅ—ๅˆฐ็คพๆœƒ็ถ“ๆฟŸๅ› ็ด ใ€ๆ”ฟๆฒปๅ’Œๅ‰ตๆ–ฐ็š„ๅฝฑ้Ÿฟใ€‚ ๅฆ‚ไปŠ๏ผŒๆŠ€่ก“็š„ไฝฟ็”จ๏ผŒ็‰นๅˆฅๆ˜ฏ็ทจ็จ‹ๅ’Œๆ•ธๆ“šๅˆ†ๆž๏ผŒไฝฟๆ™‚ๅฐš่กŒๆฅญๅ†ๆฌก็™ผ็”Ÿ้ฉๅ‘ฝใ€‚ ๅ€ŸๅŠฉPython้€™็จฎ้ซ˜็ดš็ทจ็จ‹่ชž่จ€๏ผŒๆˆ‘ๅ€‘ๅฏไปฅๅˆฉ็”จ็ถฒ้ ๆŠ“ๅ–ใ€ๅœ–ๅƒ่™•็†ใ€ไบบๅทฅๆ™บ่ƒฝๅ’ŒๆฉŸๅ™จๅญธ็ฟ’็ญ‰ๆŠ€่ก“ไพ†ๅˆ†ๆžๅ’Œ้ ๆธฌๆ™‚ๅฐš่ถจๅ‹ขใ€‚ ๅฎƒ็‚บๆ™‚ๅฐš่กŒๆฅญ้–‹้—ขไบ†ๆ–ฐ้ ˜ๅŸŸ๏ผŒไฝฟๆˆ‘ๅ€‘่ƒฝๅค ไบ†่งฃๆ™‚ๅฐšๅ‹•ๆ…‹ไธฆ้ ๆธฌๆœชไพ†่ถจๅ‹ขใ€‚

ไบ†่งฃๆ›ดๅคš

่งฃๆฑบ๏ผšๅฐ‡่กจๅ–ฎ้กžๅž‹ Flask ๅพžๆ–‡ๆœฌๆ›ดๆ”น็‚บ้ธๆ“‡ Flask admin

Flask ๆ˜ฏไธ€ๅ€‹็”จ Python ็ทจๅฏซ็š„ๅพฎๅž‹ Web ๆก†ๆžถ๏ผŒ้€šๅธธ็”จๆ–ผ้–‹็™ผ Web ๆ‡‰็”จ็จ‹ๅบใ€‚ ๅฎƒๅ› ๅ…ถ็ฐกๅ–ฎๆ€งๅ’Œๆ˜“็”จๆ€ง่€Œๅปฃๅ—ๅฅฝ่ฉ•๏ผŒ่จฑๅคš้–‹็™ผไบบๅ“กๅˆฉ็”จๅฎƒไพ†ๅ‰ตๅปบ้ซ˜ๆ•ˆใ€ๅฏ็”จ็š„ Web ๆ‡‰็”จ็จ‹ๅบใ€‚ Flask ้–‹็™ผไธญ็š„ไธ€็จฎๅธธ่ฆ‹ๆƒ…ๆณๆถ‰ๅŠๆ›ดๆ”น Flask-Admin ไธญ็š„่กจๅ–ฎๅญ—ๆฎต้กžๅž‹๏ผŒ็‰นๅˆฅๆ˜ฏๅพžๆ–‡ๆœฌๅญ—ๆฎต่ฝ‰ๆ›็‚บ้ธๆ“‡ๅญ—ๆฎตใ€‚ ้€™็จฎๅพฎๅฆ™็š„่ฎŠๅŒ–ๅฏไปฅๆฅตๅคงๅœฐๅขžๅผท็”จๆˆถ็•Œ้ขๅ’Œๆ•ด้ซ”็”จๆˆถ้ซ”้ฉ—๏ผŒๆ–นไพฟ็”จๆˆถๅพž้ ๅฎš็พฉ้ธ้ …ไธญ้€ฒ่กŒ้ธๆ“‡๏ผŒ่€Œไธๆ˜ฏๆ‰‹ๅ‹•ๆ–‡ๆœฌ่ผธๅ…ฅใ€‚

ไบ†่งฃๆ›ดๅคš

ๅทฒ่งฃๆฑบ๏ผšๅœจ Flask ๆœๅ‹™ๅ™จไธญ็ฆ็”จๆŽงๅˆถๅฐๆถˆๆฏ

็•ถ็„ถ๏ผŒ้€™ๆ˜ฏ้—œๆ–ผๅœจ Flask ๆœๅ‹™ๅ™จไธญ็ฆ็”จๆŽงๅˆถๅฐๆถˆๆฏ็š„ๆ–‡็ซ ๏ผš

Flask ๆœๅ‹™ๅ™จๆ˜ฏไธ€็จฎๅปฃๆณ›ไฝฟ็”จ็š„ Web ๆก†ๆžถ๏ผŒๆ˜“ๆ–ผ่จชๅ•ไธ”ๆ˜“ๆ–ผ่จญ็ฝฎใ€‚ ็„ถ่€Œ๏ผŒๆœ‰ๆ™‚ๅฏ่ƒฝๆœƒๆœ‰ไธ€ๅ †ๆŽงๅˆถๅฐๆ—ฅ่ชŒ๏ผŒ้€™ๅฏ่ƒฝๆœƒๅนฒๆ“พ Flask ๆ‡‰็”จ็จ‹ๅบ็š„ๅฏฆ้š›็”จ้€”ใ€‚ ๅœจ้€™็จฎๆƒ…ๆณไธ‹๏ผŒ็ฆ็”จๆŽงๅˆถๅฐๆถˆๆฏๆœƒๆดพไธŠ็”จๅ ด๏ผŒไธฆไฝฟๆ‚จ็š„ๅทฅไฝœ่ฎŠๅพ—็„ก็ธซใ€‚ ๆœฌๆ–‡ๆไพ›ไบ†ๆœ‰้—œๅฆ‚ไฝ•ๅœจ Flask ๆœๅ‹™ๅ™จไธŠ็ฆ็”จๆŽงๅˆถๅฐๆถˆๆฏ็š„ๆทฑๅ…ฅๆŒ‡ๅ—ใ€‚

ไบ†่งฃๆ›ดๅคš