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

ๅฝ“็„ถ๏ผŒๆˆ‘ๅฐ†ๅˆ›ๅปบไธ€็ฏ‡ๅ†…ๅฎนไธฐๅฏŒ็š„ๅ†…ๅฎนๆฅ่งฃ้‡Š PythonAnywhere ๅนณๅฐ๏ผŒ่ฏฅๅนณๅฐๆ˜ฏไธ€็งๆต่กŒ็š„ๅœจ็บฟ้›†ๆˆๅผ€ๅ‘็Žฏๅขƒ (IDE)๏ผŒๅนฟๆณ›็”จไบŽ็›ดๆŽฅไปŽ Web ๆต่งˆๅ™จ็ผ–ๅ†™ใ€็ผ–่ฏ‘ๅ’Œ่ฟ่กŒ Python ไปฃ็ ใ€‚

Pythonๆ— ๅค„ไธๅœจ ๆ˜ฏไธ€ไธช Python ๅผ€ๅ‘ๅ’Œๆ‰˜็ฎก็Žฏๅขƒ๏ผŒๆ˜พ็คบๅœจ Web ๆต่งˆๅ™จไธญๅนถๅœจๆœๅŠกๅ™จไธŠ่ฟ่กŒใ€‚ ๅฎƒๆ˜ฏไธ€ไธชๆˆ็†Ÿ็š„ Python ็Žฏๅขƒ๏ผŒๅ› ๆญคๆ‚จๅฏไปฅไฝฟ็”จ pip ๅ’Œ conda ็ฎก็† Python ๅŒ…ใ€‚

้˜…่ฏปๆ›ดๅคš

ๅทฒ่งฃๅ†ณ๏ผšไธป็ฎกgunicorn virtualenv

็š„ๅˆไฝœ ็›‘, GunicornๅŠ ่™šๆ‹Ÿ็Žฏๅขƒ ๅทฒๆˆไธบ 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 ๆœๅŠกๅ™จไธŠ็ฆ็”จๆŽงๅˆถๅฐๆถˆๆฏ็š„ๆทฑๅ…ฅๆŒ‡ๅ—ใ€‚

้˜…่ฏปๆ›ดๅคš