рднрд╛рдЧ 1 - рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдФрд░ рд╕рд╛рдордЧреНрд░реАред
рд▓рд┐рдкрд┐
рдкрд┐рд░рд╛рдорд┐рдб рдХрдИ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдЙрддреНрдХреГрд╖реНрдЯ рд╣реИред рдЕрдкрдиреЗ рдкрд░рд┐рдЪрдп рд╕реЗ рдкрд╣рд▓реЗ, рдкрд╛рдЗрд▓рдиреНрд╕ рдХреА рддрд░рд╣, рдкрд┐рд░рд╛рдорд┐рдб SQLAlchemy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдорд╛рд░реНрдЧ-рдЙрдиреНрдореБрдЦ
RDBMS рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреНрдп RDBMS- рдЖрдзрд╛рд░рд┐рдд рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкрд┐рд░рд╛рдорд┐рдб рдХреЛ рдкреНрд▓реЙрди рдФрд░ рдЬрд╝реЛрдк рдХреА рджреБрдирд┐рдпрд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╕рд╛рдордЧреНрд░реА-рдЙрдиреНрдореБрдЦ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реБрд╕рдЬреНрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рдпрд╣ рдкреНрд▓реЙрди рд╕рдореНрдореЗрд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИ, рд╣рдордиреЗ рдПрдХ рдкреНрд░рд╕реНрддреБрддрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪреБрдирд╛ рдЬреЛ рд╕рд╛рдордЧреНрд░реА-рдЙрдиреНрдореБрдЦ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдкрд┐рд░рд╛рдорд┐рдб рдХреА рддрд╛рдХрдд рджрд┐рдЦрд╛рддреА рд╣реИред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдЬрд╣рд╛рдВ рдЖрдк рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯрд░ рдирд╛рдордХ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред
рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рдпрдерди 2.6 рдФрд░ рдКрдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рд╣реИ, рдФрд░ рдЖрдкрдХреА рдкрд╕рдВрдж рдХрд╛ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЪрд░рдг рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЕрдиреНрдп рдЪрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрдХреЗрдЬреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдкрд╛рда рдиреЛрдЯ: рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЖрдкрдХреЗ рдХрд╛рдо рдХреЗ рдорд╛рд╣реМрд▓ рдХреЗ рдЕрдиреБрд░реВрдк UNIX isms рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
someworkingdirectory /
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓_рд╡рд░реНрдХрд╕реНрдкреЗрд╕ /
venv ### рд╣рдорд╛рд░реЗ virtualenv рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп
рдмрдирд╛рдиреЗ /
step01
step02
рдЖрджрд┐
рд╕рд╛рдзрди
step01
step02
рдЖрджрд┐
рдЖрджрд┐
рдЪрд░рдгреЛрдВ
рдЦреЛрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрд╛рдПрдВ
- $ mkdir tutorial_workspace; рд╕реАрдбреА рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓_рд╡рд░реНрдХрд╕реНрдкреЗрд╕
- $ virtualenv - рдирд╣реАрдВ-рд╕рд╛рдЗрдЯ-рд╕рдВрдХреБрд▓ venv
- $ рдирд┐рд░реНрдпрд╛рдд рдкрде = / рдкрде / рд╕реЗ / рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓_рд╡рд░реНрдХрд╕реНрдкреЗрд╕ / рд╡реЗрдирд╡ / рдмрд┐рди: $ рдкрд╛рде
- $ рдЬреЛ рдЖрд╕рд╛рди рд╣реИ
рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдЙрддреНрдкрд╛рджрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
/home/ks/projects/tutorial_workspace/venv/bin/easy_install
- $ easy_install рдкрд┐рд░рд╛рдорд┐рдб рд╡реЗрдмрдЯреЗрд╕реНрдЯ рдирд╛рдХ
- $ рдирд┐рд░реНрдпрд╛рдд PYRAMID_RELOAD_TEMPLATES = 1
рдХреЛрдб рдЙрджрд╛рд╣рд░рдг
рдЗрд╕ рдЧрд╛рдЗрдб рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдкрд╛рдардХ рдХреЛ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрд╣ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рддрд╛ рд╣реИред рдЗрди рдЪрд░рдгреЛрдВ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣реИ рдХрд┐ рдЬреИрд╕рд╛ рдХрд┐ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╕рд░рд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд╛рдпрдерди рдореЙрдбреНрдпреВрд▓ рд╕реЗ рднрд░рд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╕рдВрдкреВрд░реНрдг рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рдирдореВрдирд╛ рдлрд╛рдЗрд▓реЗрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВ рдЬреЛ рд╕реАрдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдб рджрд░реНрдЬ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред (рдиреЛрдЯ:
рдЙрд╕ рдкреГрд╖реНрда рдкрд░ рдХреЛрдИ рднреА рдирд╣реАрдВ рд╣реИ)
рдкрд┐рд░рд╛рдорд┐рдб рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдпреВрдПрдХреНрд╕ рдмрдирд╛рдирд╛
рдЪрд░рдгреЛрдВ рдХреА рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ, рд╣рдо рддрд░реНрдХ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ
рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ (UX) рдХреЗ рд╕рд╛рд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗред
рд▓рдХреНрд╖реНрдпреЛрдВ
- рдкрд┐рд░рд╛рдорд┐рдб рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕рдВрднрд╡ рдкреНрд░рджрд░реНрд╢рди
- рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╡реЗрдмрдЯреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
- рдЧрд┐рд░рдЧрд┐рдЯ рдФрд░ рдЬреЗрдбрдкреАрдЯреА рдХреЗ рд╕рд╛рде рдкреИрдЯрд░реНрдирд┐рдВрдЧ
- рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛрдЬрд╝ рдФрд░ "рд╕реНрдХреАрдореНрд╕" (рд▓реЗрдЖрдЙрдЯ) рдХрд╛ рдЙрдкрдпреЛрдЧ
- рд╕реНрдереИрддрд┐рдХ рд╕рдВрд╕рд╛рдзрди
- AJAX JSON рд░реЗрдВрдбрд░рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
рдХрд╛рдо рдХрд╛ рдкреНрд░рд╡рд╛рд╣
рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдХ рд╕реБрд╕рдВрдЧрдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рд╕рдордЭрдиреЗ рдФрд░ рдЕрдиреБрдореЛрджрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░ рдЯреАрдо рдореЗрдВ "рдпреВрдЖрдИ рд╡реНрдпрдХреНрддрд┐" рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрдЧрд╣ рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рддрд░реНрдХ рдкреВрд░реНрдг рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рджрд┐рдЦрд╛рдПрдВрдЧреЗ рдХрд┐ рдкрд┐рд░рд╛рдорд┐рдб рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдЧрд╣рди рдЬреНрдЮрд╛рди рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╡реНрдпрдХреНрддрд┐, рдкреНрд░реЛрдЬреЗрдХреНрдЯрд░ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреИрд╕реЗ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред
рдЪрд░рдг 01: рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдЗрди рдкрд┐рд░рд╛рдорд┐рдб
рдкрд┐рд░рд╛рдорд┐рдб рдореЗрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ? рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЙрдбреНрдпреВрд▓ред рд╕рдВрдХреБрд▓, рдЖрдпрд╛рдд, setup.py рдФрд░ рдЕрдиреНрдп рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрд┐рдирд╛ред
рд▓рдХреНрд╖реНрдпреЛрдВ
- рд╕реНрдХреНрд░реАрди рдкрд░ рдкрд┐рд░рд╛рдорд┐рдб рдкрд┐рдХреНрд╕реЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕рд░рд▓ рд╣реИред
- рдЗрд╕реЗ рдЖрдЧреЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭреЗ рдЧрдП рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рддрдХрдиреАрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ
- рдХрд┐рд╕реА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдПрдХ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдмрдирд╛рдПрдВ рддрд╛рдХрд┐ рд╡рд╣ HTTP рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░реЗ
- рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ URL рдкрд░ рдЬрд╛рдПрдБ
рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЗрдВ
рдорд╛рдЗрдХреНрд░реЛрдлреНрд░реЗрдо рдЗрди рджрд┐рдиреЛрдВ рдХреЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЖрдХрд░реНрд╖рдг рд╣реИрдВред рд╡реЗ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдХрдо рднрд╛рд░ рджреЗрддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рднреА рдХрд┐ рд╡реЗ рдорд╕реНрддрд┐рд╖реНрдХ рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ: рд╡реЗ рдЗрддрдирд╛ рдХрдо рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред
рдкрд┐рд░рд╛рдорд┐рдб рд╡рд┐рд╢реЗрд╖ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдорд╛рдЗрдХреНрд░реЛрдлрд╝реНрд░рд╛рдорд╡рд░реНрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд╛рдпрдерди рдлрд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕реЗ рд╕реАрдзреЗ рдкрд╛рдпрдерди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдкрд┐рд░рд╛рдорд┐рдб рднреА рд╡рд┐рд╢рд╛рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рддрд░рд╛рдЬреВред
рдЪрд░рдгреЛрдВ
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк
рдпрд╣рд╛рдВ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рд╕рдм рдХреБрдЫ рдХрд░реЗрдВрдЧреЗред
рдФрд░ рд╣рдо рдЖрдЧреЗ рдмрдврд╝реЗ:
$ mkdir creatingux; cd creatingux
$ mkdir step01; cd step01
рдирд╡ рдирд┐рд░реНрдорд┐рдд рдлрд╝рд╛рдЗрд▓ step01 / application.py рдореЗрдВ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдкрд╛рда рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ:
wsgiref.simple_server рдЖрдпрд╛рдд рдореЗрдХ_рд╕реЗрд╡рд░ рд╕реЗ
рдкрд┐рд░рд╛рдорд┐рдб.рдХреЙрдиреНрдлрд┐рдЧ рдЖрдпрд╛рдд рд╡рд┐рдиреНрдпрд╛рд╕рдХ рд╕реЗ
рдкрд┐рд░рд╛рдорд┐рдб рд╕реЗ ред рдЖрдпрд╛рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ
# рдпрд╣ рджреГрд╢реНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ
def hello_world (рдЕрдиреБрд░реЛрдз):
рд╡рд╛рдкрд╕реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ ( 'рд╣реИрд▓реЛ!' )
def рдореБрдЦреНрдп ():
# рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЛ рдкрдХрдбрд╝реЗрдВ, рд╡реНрдпреВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ WSGI рдРрдк рдмрдирд╛рдПрдВ
рд╡рд┐рдиреНрдпрд╛рд╕ = рд╡рд┐рдиреНрдпрд╛рд╕рдХрд░реНрддрд╛ ()
рд╡рд┐рдиреНрдпрд╛рд╕ ред add_view (hello_world)
app = config ред make_wsgi_app ()
рд╡рд╛рдкрд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди
рдЕрдЧрд░ __name__ == '__main__' :
# рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдЪрд▓рд╛рдиреЗ рдкрд░, рдПрдХ WSGI рд╕рд░реНрд╡рд░ рдФрд░ рдРрдк рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ
рдПрдкреНрд▓рд┐рдХреЗрд╢рди = рдореБрдЦреНрдп ()
рд╕рд░реНрд╡рд░ = make_server ( '0.0.0.0' , 8080 , рдРрдк)
рд╕рд░реНрд╡рд░ ред рд╕реЗрд╡рд╛_рд╕реЗрд╡рд░ ()
$ python application.py
рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ
127.0.0.1:8080
рдЦреЛрд▓рддреЗ рд╣реИрдВ, рджреЗрдЦреЛ, рдЖрдирдиреНрджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рд╢реНрди
- рдпрджрд┐ рдЖрдк HTML рдХреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдкреВрд░реНрдгрд╛рдВрдХ рдХреА рдЕрдиреБрдХреНрд░рдо?
- рд╡реНрдпреВ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреБрдЫ рдЧрд▓рдд, рдЬреИрд╕реЗ рдкреНрд░рд┐рдВрдЯ xyz рд░рдЦреЛред рдЕрдкрдиреЗ рдЕрдЬрдЧрд░ рдЖрд╡реЗрджрди рдХреЛ рдорд╛рд░реЗрдВ рдФрд░ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВ, рдлрд┐рд░ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВред рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЕрдкрд╡рд╛рдж рдХреНрдпрд╛ рд╣реИ?
- рдХреНрдпрд╛ рдкрд┐рд░рд╛рдорд┐рдб рдкрд╛рдпрдерди рдХреЛрдб рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрджреНрдпрддрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ?
рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдпрд╣ рд╕рд░рд▓ рдореЙрдбреНрдпреВрд▓ рдХреЛрдб рдХреА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрдлрд╝реНрд░реЗрдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рдЖрддреНрдорд╛ рдХреЗ рд╕рдорд╛рди рд╣реИред рд╡реНрдпреВ рдлрд╝рдВрдХреНрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рджреГрд╢реНрдп рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрддрд╛ рд╣реИред
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг
рдореЗрдЧрд╛рдлреНрд░реЗрдо, рдорд╛рдЗрдХреНрд░реЛрдлреНрд░реЗрдо рдФрд░ рдкрд┐рд░рд╛рдорд┐рдб рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЗрдВ рдЗрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред
рднрд╛рдЧ 3: