рдпрд╣ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдкрд╣рд▓рд╛ рд▓реЗрдЦ рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рдлреНрд▓рд╛рд╕реНрдХ рдорд╛рдЗрдХреНрд░реЛрдлреНрд░рд╛рдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкрд╛рдпрдерди рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░реВрдВрдЧрд╛ред
рдпрд╣рд╛рдБ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╕рднреА рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ:
рднрд╛рдЧ 1: рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб!рднрд╛рдЧ 2: рдЯреЗрдореНрдкрд▓реЗрдЯрднрд╛рдЧ 3: рдкреНрд░рдкрддреНрд░рднрд╛рдЧ 4: рдбреЗрдЯрд╛рдмреЗрд╕рднрд╛рдЧ 5: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЙрдЧрд┐рдирднрд╛рдЧ 6: рдкреНрд░реЛрдлрд╛рдЗрд▓ рдкреЗрдЬ рдФрд░ рдЕрд╡рддрд╛рд░рднрд╛рдЧ 7: рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгрднрд╛рдЧ 8: рдЕрдиреБрдпрд╛рдпреА, рд╕рдВрдкрд░реНрдХ рдФрд░ рдорд┐рддреНрд░рднрд╛рдЧ 9: рдЕрдВрдХреБрд░рдгрднрд╛рдЧ 10: рдкреВрд░реНрдг рдкрд╛рда рдЦреЛрдЬрднрд╛рдЧ 11: рдИрдореЗрд▓ рд╕рдорд░реНрдердирднрд╛рдЧ 12: рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдгрднрд╛рдЧ 13: рддрд┐рдерд┐ рдФрд░ рд╕рдордпрднрд╛рдЧ 14: I18n рдФрд░ L10nрднрд╛рдЧ 15: рдЕрдЬрд╛рдХреНрд╕рднрд╛рдЧ 16: рдбрд┐рдмрдЧрд┐рдВрдЧ, рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧрднрд╛рдЧ 17: рд▓рд┐рдирдХреНрд╕ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рднреА рддреИрдирд╛рдд рд╣реИрдВ!)рднрд╛рдЧ 18: рд╣рд░реЛрдХреВ рдХреНрд▓рд╛рдЙрдб рдкрд░ рддреИрдирд╛рддреАрдореЗрд░реА рдкреГрд╖реНрдарднреВрдорд┐
рдореИрдВ рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЬрдЯрд┐рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рджреЛ-рдЕрдВрдХреЛрдВ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдЕрдиреБрднрд╡ рд╡рд╛рд▓рд╛ рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВред рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдХрд╛рдо рдкрд░ C ++ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рд╕реЗ рдореБрд▓рд╛рдХрд╛рдд рдХреАред рдкрд╛рдпрдерди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ PHP, рд░реВрдмреА, рд╕реНрдореЙрд▓рдЯрд╛рдХ рдореЗрдВ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦреЗ рдФрд░, рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЗрдВ рдХрд┐ рдпрд╣ C ++ рдореЗрдВ рднреА рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЗрд╕ рд╕рдм рд╕реЗ, рдореБрдЭреЗ рдкрд╛рдпрдерди / рдлреНрд▓рд╛рд╕реНрдХ рд╕рдВрдпреЛрдЬрди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд▓рдЧрддрд╛ рд╣реИред
рдЖрд╡реЗрджрди
рдЗрд╕ рдЧрд╛рдЗрдб рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВ рдЬрд┐рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдорд╛рдЗрдХреНрд░реЛрдмреНрд▓реЙрдЧ рд╕рд░реНрд╡рд░ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ
рдорд╛рдЗрдХреНрд░реЛрдмреНрд▓реЙрдЧ рдХрд╣рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╕реБрдВрджрд░ рд░рдЪрдирд╛рддреНрдордХ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИред
рд╣рдорд╛рд░реА рдкреНрд░рдЧрддрд┐ рдХреЗ рджреМрд░рд╛рди, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реВрдВрдЧрд╛:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдмрдВрдзрди, рд▓реЙрдЧрд┐рди, рд╕рддреНрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднреВрдорд┐рдХрд╛рдПрдВ, рдкреНрд░реЛрдлрд╛рдЗрд▓ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрд╡рддрд╛рд░ рдХреЗ рдкреНрд░рдмрдВрдзрди рд╕рд╣рд┐рдд
- рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди, рдЬрд┐рд╕рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ
- рдлрд╝реАрд▓реНрдб рд╕рддреНрдпрд╛рдкрди рд╕рд╣рд┐рдд рдлрд╝реЙрд░реНрдо рд╕рдорд░реНрдерди
- рддрддреНрд╡реЛрдВ рдХреА рд▓рдВрдмреА рд╕реВрдЪреА рдХрд╛ рдкреГрд╖реНрдард╛рдВрдХрди
- рдкреВрд░реНрдг рдкрд╛рда рдЦреЛрдЬ
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдИрдореЗрд▓
- HTML рдЯреЗрдореНрдкрд▓реЗрдЯ
- рдмрд╣реБ рднрд╛рд╖рд╛ рд╕рдорд░реНрдерди
- рдХреИрд╢рд┐рдВрдЧ рдФрд░ рдЕрдиреНрдп рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди
- рд╡рд┐рдХрд╛рд╕ рдФрд░ рдЙрддреНрдкрд╛рджрди рд╕реЗрд╡рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рддрд░реАрдХреЗ
- рдПрдХ рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрдирд╛
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ рдпрд╣ рд╕рдм рдХрд╛рдлреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдЬрдм рдореИрдВ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░ рд▓реВрдВрдЧрд╛, рддреЛ рдЕрдиреНрдп рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдЬреИрд╕рд╛ рдХреБрдЫ рдмрди рдЬрд╛рдПрдЧрд╛ред
рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ
рдпрджрд┐ рдЖрдкрдХрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд╛рдпрдерди 2.6 / 2.7 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╢рд╛рдпрдж рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдореИрдиреБрдЕрд▓ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдВрдбреЛрдЬ, рдУрдПрд╕ рдПрдХреНрд╕ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдареАрдХ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдорд╛рдирддреА рд╣реИ рдХрд┐ рдЖрдк рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ (рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдХрдВрд╕реЛрд▓) рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдФрд░ рдЖрдк рдЕрдкрдиреЗ рдУрдПрд╕ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдХрдорд╛рдВрдб рдЬрд╛рдирддреЗ рд╣реИрдВред рдпрджрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдХрдВрд╕реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА, рдХреЙрдкреА рдлрд╛рдЗрд▓реЗрдВ рдЖрджрд┐ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдПрдВред
рдЕрдВрдд рдореЗрдВ, рдЖрдкрдХреЛ рдкрд╛рдпрдерди рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд рднреА рдЪреЛрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдлреНрд▓рд╛рд╕реНрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдареАрдХ рд╣реИ, рдЪрд▓реЛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдУ!
рдпрджрд┐ рдЖрдкрдиреЗ рдЕрднреА рддрдХ рдкрд╛рдпрдерди 2.7 рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ
рдпрд╣рд╛рдВ рд╕реЗ рд▓реЗ рдЬрд╛рдПрдВред
рдЕрдм рд╣рдореЗрдВ рдлреНрд▓рд╛рд╕реНрдХ рдФрд░ рдХреБрдЫ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ рдЬреЛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдореИрдВ рдПрдХ
рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдм рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдЖрдкрдХрд╛ рдореБрдЦреНрдп рдкрд╛рдпрдерди рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреНрд░рднрд╛рд╡рд┐рдд рди рд╣реЛред рдПрдХ рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдЯ рдПрдХреНрд╕реЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред
рдЗрд╕рд▓рд┐рдП, рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓реЗрдВ, рдЙрд╕ рдЬрдЧрд╣ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рд╣реЛрдЧрд╛, рдФрд░ рдПрдХ рдирдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдирд┐рд╣рд┐рдд рд╣реЛрдЧрд╛ред рдЖрдЗрдП рдЗрд╕
microblog
рдлреЛрд▓реНрдбрд░ рдХреЛ рдХрд╣рддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдмрд╛рдж,
virtualenv.py рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдирдП рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рд▓реЗрдВред
рдирдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ:
python virtualenv.py flask
рдпрд╣ рдХрдорд╛рдВрдб
flask
рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдкреВрд░реНрдг рдкрд╛рдпрдерди рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдПрдЧрд╛
рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рд╕рдХреНрд░рд┐рдп рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдХреНрд░рд┐рдп рд╡рд╛рддрд╛рд╡рд░рдг рдЕрдкрдиреЗ
bin
рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдкрде рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдкрде рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк рдЕрдЬрдЧрд░ рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдорд┐рд▓рддрд╛ рд╣реИ, рд╕рд┐рд╕реНрдЯрдо рдПрдХ рдирд╣реАрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рдХрднреА рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрд┐рд╕реА рднреА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдХрднреА рднреА рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЙрд╕ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рдлреЛрди рдХрд┐рдпрд╛ рдЬреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдП рдерд╛, рдЗрд╕рдХреЗ рдкрде рдХреЛ рдореБрджреНрд░рд┐рдд рдХрд░рдирд╛ред
рд▓рдЧрднрдЧред рдкреНрд░рддрд┐ред: рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдиреМрд╡реЗрдВ рднрд╛рдЧ рдореЗрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдлреНрд▓рд╛рд╕реНрдХ-рд╣реВрд╢реЗрд▓рдЪреЗрдореА рдореЗрдВ рдПрдХ рдмрдЧ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреА рд╣реИ, рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд▓реЗрдЦрдХ рднрдВрдбрд╛рд░)рдпрджрд┐ рдЖрдк рдПрдХ Linux, OS x, рдпрд╛ Cygwin рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ, рддреЛ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рдХреЗ рдлреНрд▓рд╛рд╕реНрдХ рдФрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
рдЯреАрдо рд╕реВрдЪреА рдлреНрд▓рд╛рд╕реНрдХ / рдмрд┐рди / рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдлреНрд▓рд╛рд╕реНрдХ == 0.9
рдлреНрд▓рд╛рд╕реНрдХ / рдмрд┐рди / рдкрд╛рдЗрдк рдлреНрд▓рд╛рд╕реНрдХ-рд▓реЙрдЧрд┐рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдлреНрд▓рд╛рд╕реНрдХ / рдмрд┐рди / рдкрд╛рдЗрдк рдлреНрд▓рд╛рд╕реНрдХ-рдУрдкрдирд┐рдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдлреНрд▓рд╛рд╕реНрдХ / рдмрд┐рди / рдкрд╛рдЗрдк рдлреНрд▓рд╛рд╕реНрдХ-рдореЗрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдлреНрд▓рд╛рд╕реНрдХ / рдмрд┐рди / рдкрд╛рдЗрдк sqlalchemy == 0.7.9 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдлреНрд▓рд╛рд╕реНрдХ / рдмрд┐рди / рдкрд╛рдЗрдк рдлреНрд▓рд╛рд╕реНрдХ- sqlalchemy == 0.16 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдлреНрд▓рд╛рд╕реНрдХ / рдмрд┐рди / рдкрд╛рдЗрдк sqlalchemy-migrate рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рдлреНрд▓рд╛рд╕реНрдХ / рдмрд┐рди / рдкрд╛рдЗрдк рдлреНрд▓рд╛рд╕реНрдХ-рдЬреЛрд╢рд▓реНрдХреЗрдореА == 0.54a рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдлреНрд▓рд╛рд╕реНрдХ / рдмрд┐рди / рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдлреНрд▓рд╛рд╕реНрдХ-рдбрдмреНрд▓реНрдпреВрдЯреАрдПрдл == 0.8.4
рдлреНрд▓рд╛рд╕реНрдХ / рдмрд┐рди / рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд pytz == 2013 рдмреА
рдлреНрд▓рд╛рд╕реНрдХ / рдмрд┐рди / рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдлреНрд▓рд╛рд╕реНрдХ-рдмреЗрдмрд▓ == 0.8
рдлреНрд▓рд╛рд╕реНрдХ / рдмрд┐рди / рдкрд╛рдЗрдк рдлреНрд▓реЙрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдпрджрд┐ рдЖрдк рдПрдХ Windows рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ, рддреЛ рдХрдорд╛рдВрдб рдереЛрдбрд╝реЗ рдЕрд▓рдЧ рд╣реИрдВ:
рдЯреАрдо рд╕реВрдЪреА рдлреНрд▓рд╛рд╕реНрдХ \ рд╕реНрдХреНрд░рд┐рдкреНрдЯ / рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдлреНрд▓рд╛рд╕реНрдХ == 0.9
рдлреНрд▓рд╛рд╕реНрдХ \ рд╕реНрдХреНрд░рд┐рдкреНрдЯ / рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдлреНрд▓рд╛рд╕реНрдХ-рд▓реЙрдЧрд┐рди
рдлреНрд▓рд╛рд╕реНрдХ \ рд╕реНрдХреНрд░рд┐рдкреНрд╕ \ рдкрд╛рдЗрдк рдлреНрд▓рд╛рд╕реНрдХ-рдУрдкрдирд┐рдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдлреНрд▓рд╛рд╕реНрдХ \ рд╕реНрдХреНрд░рд┐рдкреНрд╕ \ рдкрд┐рдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ sqlalchemy == 0.7.9
рдлреНрд▓рд╛рд╕реНрдХ \ рд╕реНрдХреНрд░рд┐рдкреНрд╕ \ рдкрд╛рдЗрдк рдлреНрд▓рд╛рд╕реНрдХ- sqlalchemy == 0.16 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдлреНрд▓рд╛рд╕реНрдХ \ рд╕реНрдХреНрд░рд┐рдкреНрд╕ \ рдкрд╛рдЗрдк sqlalchemy- рдорд╛рдЗрдЧреНрд░реЗрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рдлреНрд▓рд╛рд╕реНрдХ \ рд╕реНрдХреНрд░рд┐рдкреНрд╕ \ рдкрд╛рдЗрдк рдлреНрд▓рд╛рд╕реНрдХ-рдЬреЛрд╢рд▓реНрдХреЗрдореА == 0.54a рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдлреНрд▓рд╛рд╕реНрдХ \ рд╕реНрдХреНрд░рд┐рдкреНрд╕ \ рдкрд╛рдЗрдк рдлреНрд▓рд╛рд╕реНрдХ- wtf == 0.8.4 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдлреНрд▓рд╛рд╕реНрдХ \ Scripts \ pip рд╕реНрдерд╛рдкрд┐рдд pytz == 2013 рдмреА
рдлреНрд▓рд╛рд╕реНрдХ \ рд╕реНрдХреНрд░рд┐рдкреНрд╕ \ рдкрд╛рдЗрдк рдлреНрд▓рд╛рд╕реНрдХ-рдмрд╛рдмреЗрд▓ == 0.8 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдлреНрд▓рд╛рд╕реНрдХ \ рд╕реНрдХреНрд░рд┐рдкреНрд╕ \ рдкрд╛рдЗрдк рдлреНрд▓реЙрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдпреЗ рдХрдорд╛рдВрдб рдЙрди рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдлреНрд▓рд╛рд╕реНрдХ 0.9 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВред рдлреНрд▓рд╛рд╕реНрдХ 0.10 рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдЖрд╕рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИ рдФрд░ рдХреБрдЫ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВред рдкреИрдХреЗрдЬ рдФрд░
pip
рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмреАрдЪ рдХрдИ рдЕрд╕рдВрдЧрддрддрд╛рдПрдВ рднреА рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдФрд░ рдХрджрдо рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдкрд╛рдардХ рдзреНрдпрд╛рди рджреЗрдЧрд╛ рдХрд┐
flask-mail
рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдХреА рд╕реВрдЪреА рд╕реЗ рдЧрд╛рдпрдм рд╣реИред рдпрд╣ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рдПрдВрдЧреЗ:
flask\Scripts\pip install --no-deps lamson chardet flask-mail
рдореИрдВ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдКрдВрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдлреНрд▓рд╛рд╕реНрдХ-рдореЗрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝реЗрдВред
рдпрджрд┐ рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рд╕рдлрд▓ рд░рд╣реА, рддреЛ рдЖрдк
virtualenv.py
рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рд╣рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
"рдирдорд╕реНрддреЗ рд╡рд┐рд╢реНрд╡!" рдлреНрд▓рд╛рд╕реНрдХ рдореЗрдВ
рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрдкрдХреЗ
microblog
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ
flask
рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдкрд╛рдпрдерди рджреБрднрд╛рд╖рд┐рдпрд╛ рдФрд░ рдлреНрд▓рд╛рд╕реНрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рд╣рдорд╛рд░реА рдкрд╣рд▓реА рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ!
microblog
рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдПрдВ:
mkdir app mkdir app/static mkdir app/templates mkdir tmp
рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ
app
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦреЗрдВрдЧреЗред
static
рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕, рдЬреИрд╕реЗ рдЪрд┐рддреНрд░реЛрдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓ рд╢реАрдЯреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
templates
рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИред
рдЖрдЗрдП рд╣рдорд╛рд░реЗ
app
рдкреИрдХреЗрдЬ (
app/__init__.py
) рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░реЗрдВ
from flask import Flask app = Flask(__name__) from app import views
рдКрдкрд░ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╕ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ (
Flask
рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА) рдмрдирд╛рддреА рд╣реИ, рдлрд┐рд░ рд╡реНрдпреВ рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЕрднреА рддрдХ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рд╣реИред
рджреГрд╢реНрдп рд╣реИрдВрдбрд▓рд░ рд╣реИрдВ рдЬреЛ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВред рдлреНрд▓рд╛рд╕реНрдХ рдореЗрдВ рджреГрд╢реНрдп рдкрд╛рдпрдерди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рджреГрд╢реНрдп рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ URL рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдореИрдк рдХрд░рддрд╛ рд╣реИред
рд╣рдо рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рд╡реНрдпреВ рдлрдВрдХреНрд╢рди (рдлрд╝рд╛рдЗрд▓
app/views.py
) рд▓рд┐рдЦреЗрдВрдЧреЗ
from app import app @app.route('/') @app.route('/index') def index(): return "Hello, World!"
рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреЗрддрд╛ рд╣реИред рджреЛ
route
рд╕рдЬреНрдЬрд╛рдХрд╛рд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди
route
рдкрддреЗ
/
рдФрд░
/index
рдХреЛ
route
ред
рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЕрдВрддрд┐рдо рдЪрд░рдг рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдирд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред рдЖрдЗрдП
run.py
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА (
microblog/
) рдореЗрдВ рдбрд╛рд▓реЗрдВ:
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╕ рд╣рдорд╛рд░реЗ
app
рдкреИрдХреЗрдЬ рд╕реЗ
app
рд╡реИрд░рд┐рдПрдмрд▓ рдЖрдпрд╛рдд рдХрд░рддреА рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
run
рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐
app
рд╡реЗрд░рд┐рдПрдмрд▓
Flask
рдХреНрд▓рд╛рд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рд╣рдордиреЗ рдЗрд╕реЗ рдКрдкрд░ рдмрдирд╛рдпрд╛ рд╣реИред
рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдВред OS X, Linux, рдФрд░ Cygwin рдкрд░, рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
chmod a+x run.py
рдлрд┐рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрд╕ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
./run.py
рд╡рд┐рдВрдбреЛрдЬ рдкрд░, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдереЛрдбрд╝реА рдЕрд▓рдЧ рд╣реИред рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкрд╛рдпрдерди рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
flask/Scripts/python run.py
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд░реНрд╡рд░ рдкреЛрд░реНрдЯ 5000 рдкрд░ рд╕реБрдиреЗрдЧрд╛, рдХрдиреЗрдХреНрд╢рди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓реЗрдВ рдФрд░ рдкрддрд╛ рдмрд╛рд░ рдореЗрдВ рдирд┐рдореНрди URL рджрд░реНрдЬ рдХрд░реЗрдВ:
рдпрд╛ рдЖрдк рдЗрд╕ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
http://localhost:5000/index
рдЕрдм рдХреНрдпрд╛ рдЖрдк рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рд░реВрдЯрд┐рдВрдЧ рджреЗрдЦрддреЗ рд╣реИрдВ? рдкрд╣рд▓рд╛ URL
/
рд╕реЗ рдмрдБрдзрд╛ рд╣реИ, рдЬрдмрдХрд┐ рджреВрд╕рд░рд╛
/index
ред рджреЛрдиреЛрдВ рдорд╛рд░реНрдЧ рд╣рдорд╛рд░реЗ рджреГрд╢реНрдп рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╛рд░реНрдЧ рд╕реЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рдпреЗ рджреЛрдиреЛрдВ рд╣реА рдкреНрд░рд╕реНрддреБрддрд┐ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдереЗред
рдЬрдм рдЖрдк рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЗрд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл Ctrl-C рджрдмрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдореИрдВ рдЗрд╕ рдЧрд╛рдЗрдб рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдЖрдк рдореЗрдВ рд╕реЗ рдЬреЛ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИрдВ, рд╡реЗ рдЗрд╕ рдЧрд╛рдЗрдб рд╕реЗ рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдорд╛рдЗрдХреНрд░реЛрдмреНрд▓реЙрдЧ-0.1 .
zip рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдлреНрд▓рд╛рд╕реНрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ
рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо HTML рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЫреЛрдЯреЗ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрджрд▓ рджреЗрдВрдЧреЗред
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдорд┐рдЧреБрдПрд▓