Web2py рд░реВрдкрд░реЗрдЦрд╛

рдореИрдВ рдорд╛рд░реНрд╕ рд░реЛрд╡рд░ рдХреА рдЕрдЧрд▓реА рдмрд╛рдЗрдХ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░рдХ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдЕрдЬрдЧрд░ WEB2PP рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдЕрджреНрднреБрдд рдЙрдкрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ Habr├й рдкрд░ рдХреЛрдИ рд▓реЗрдЦ рдирд╣реАрдВ рд╣реИрдВред рдпрджрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рддреЛ рд╣реИрдмреНрд░реИрдЯ рдХреЗ рддрд╣рдд web2py рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╣реИред

рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЕрдзреНрдпрдпрди рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ, рдореИрдВ рдХрдИ рдЧрдВрднреАрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдЙрдирдХреА рдмрд┐рдХреНрд░реА рд╕реЗ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ ... рдФрд░ рдореБрдЭреЗ рдЙрдирдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдФрд░ рд╢реЛрдзрди рд╕реЗ рдЖрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд╣реИред рдЗрд╕ рдЧрддрд┐рд╡рд┐рдзрд┐ рдиреЗ рдореЗрд░реЗ рдЬреАрд╡рди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдФрд░ ... рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдм рдХреБрдЫ рдХреНрд░рдо рдореЗрдВ рд╣реИред



рдкреГрд╖реНрдарднреВрдорд┐ рдРрд╕реА рд╣реИ рдХрд┐ рдПрдХ рджрд┐рди рдПрдХ рджреЛрд╕реНрдд рдиреЗ рдореБрдЭреЗ рдлреЛрди рдХрд┐рдпрд╛, рдПрдХ рдХрд╛рд░ рдЪреМрдХреА (рдЖрдо рд▓реЛрдЧреЛрдВ, "рд░реАрддрд┐-рд░рд┐рд╡рд╛рдЬреЛрдВ") рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА "рдХрдард┐рдирд╛рдЗрдпреЛрдВ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдпрд╛ рдФрд░ рдкреВрдЫрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рд╡рд╛рд╣рдиреЛрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реЗ "рд╕рд░рд▓" рдХрд╛рд░реНрдпрдХреНрд░рдо рдвреВрдВрдв / рдСрдлрд░ / рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ? рд╕реАрдорд╛ рд╢реБрд▓реНрдХ рдкреЛрд╕реНрдЯ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВред рдЙрдирдХреА рднреНрд░рдорд┐рдд рдХрд╣рд╛рдиреА рд╕реЗ, рдореИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдмреБрдирд┐рдпрд╛рджреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:


рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╛рддрдЪреАрдд рдХреЛ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬрд╛рджреВ рд╡рд╛рдХреНрдпрд╛рдВрд╢ "рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рддрдирд╛ рдкреИрд╕рд╛ рдЪрд╛рд╣рд┐рдП - рд╣рдо рднреБрдЧрддрд╛рди рдХрд░реЗрдВрдЧреЗ" рдиреЗ рдЪрд╛рд▓ рдЪрд▓реА рдФрд░ рдореИрдВрдиреЗ рдХрд╣рд╛, "рдЙрд╣, рдареАрдХ рд╣реИ," рдореИрдВрдиреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХрд░ рджреАред

рдореЗрд░рд╛ рддрд░реНрдХ рд╕рд░рд▓ рдерд╛:
рдореЗрд░реА рдкрд╕рдВрджреАрджрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреНрдпрд╛ рд╣реИ?


рдХрд┐рд╕реА рднреА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП?


рдкреЛрд╕реНрдЯ рдкрд░ рд╕реАрдорд╛ рд╢реБрд▓реНрдХ рдирд┐рдпрдореЛрдВ рдХреЗ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреИрд╕реЗ рдЬрд╛рдПрдВ рдФрд░ рдореМрдЬреВрджрд╛ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░реЗрдВ?


рдЖрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?



рдпрд╣ рдЧреИрд░-рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп, рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ред рдЬрд╡рд╛рдм web2py рд╣реИред рдЙрд╕ рд╕рдордп, рдореБрдЭреЗ рдЗрд╕ рдврд╛рдВрдЪреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЗрдЪреНрдЫрд╛ рдФрд░ рд╕рдВрдпрдо рд╣реИ, рддреЛ рдХреБрдЫ рднреА рдЕрд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ! рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЕрдкрдиреА рддрд╛рдХрдд рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ , рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ , рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдЕрдирдкреИрдХ рдХрд░реЗрдВ - рдФрд░ рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИ! рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЬреАрдд рдХреЗ рд▓рд┐рдП web2py.exe рд╣реИ , osx рдХреЗ рд▓рд┐рдП web2py.app , рдФрд░ рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рднреА рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ: python web2py.py ред рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░, рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдкрд╛рд╕рд╡рд░реНрдб, рдЖрдИрдкреА рдФрд░ рдкреЛрд░реНрдЯ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 8000) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЖрдИрдкреА: рдкреЛрд░реНрдЯред

рддреИрдпрд╛рд░ рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред


ADMINISTRATIVE INTERFACE рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдкрд░ рдкрд╣реБрдБрдЪрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ рдЖрдк рд╕рд╛рдЗрдЯреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


APPLICATIONS рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рд╛рдЗрдЯреЗрдВ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рдПрдХ рдирдИ рд╕рд╛рдЗрдЯ рдмрдирд╛рддреЗ рд╕рдордп, рд╕рд╛рдЗрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдирдИ рд╕рд╛рдЗрдЯ рдХреЛ INIT рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: http://192.168.0.2:8000 ред рдпрджрд┐ рдЖрдк рдХреБрдЫ рдЕрдиреНрдп рд╕рд╛рдЗрдЯ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрд╕рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: http://192.168.0.2:8000/ncome ред

рдпрд╣ рд╕рдордЭрдирд╛ рдХрд┐ web2py рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрди рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:


Db.py рдореЗрдВ , рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣:
db=DAL('sqlite://storage.db') #   db.define_table('image', #     image Field('name'), #   Field('file','upload')) #    


Default.py рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ, рд╣рдо рдЕрдЬрдЧрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣:
 def index(): form = SQLFORM(db.image) #      image if form.process().accepted: #,   ,  response.flash = 'image uploaded' #  return dict(form = form) # ,     


рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд┐рдЪрд╛рд░реЛрдВ / рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ HTML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
 {{extend 'layout.html'}} #    <h1>Image upload form</h1> {{form}} #  


рдпрд╣рд╛рдБ рдЗрди рд╕рд░рд▓ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ:

рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ!

Sqlite3 рдбреЗрдЯрд╛рдмреЗрд╕ "рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░" рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ; рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЖрдкрдХреЛ PostgreSQL, MySQL, MSSQL, FireBird, Oracle, IBM DB2, Informix, Ingres, рдФрд░ Google App Engine рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореБрдЭреЗ рдХреЛрдИ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереАред рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрднрд╛рдЧ рд╣реИ! рд╕рднреА рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВред рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЕрдкрдиреЗ Google рд╕рдореВрд╣ web2py- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднреА рд╣реИрдВ (рд╡реИрд╕реЗ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╕реНрддрд░ рдФрд░ рдЧрддрд┐ рдХрднреА-рдХрднреА рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реЛрддреА рд╣реИ!)ред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рдПрдХ рдЧрд╣рд░рд╛ рдФрд░ рд╕рд╛рд░реНрдердХ рдкрдврд╝рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗ, рдФрд░ рд▓рдЧрднрдЧ рдПрдХ рдорд╣реАрдиреЗ рдХреЗ рдмрд╛рдж рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХрд╛рд░реНрдп рдкреНрд░рдгрд╛рд▓реА рдереА рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЬреЛрд░ рд╕реЗ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдмрд╕ USB рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХреА, рдЬрд┐рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдерд╛ рдФрд░ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЪрд▓рд╛рдирд╛ рдерд╛ред рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рд▓реЛрдЧреЛрдВ рдиреЗ рд╕реНрд╡рдпрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреАрд╕реА рд╕реНрдЯреЗрд╢рди рдХреЛ рдЦрд░реАрджрд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд▓реЛрдЧреЛрдВ рдиреЗ рд╕рдордЭ рдкрдХрдбрд╝реА рдФрд░ рдкрддрд╛ рдХрд┐рдпрд╛ рдХрд┐ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдХреИрд╕реЗ рд╕реЗрдЯ / рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдХреИрд╕реЗ рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХреЗ рдкрддреЗ рдкрд░ рдЬрд╛рдПрдВред рдФрд░ рдлрд┐рд░ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рд╣реЛрдЧрд╛ред

рдЕрдм рдореИрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рджреЛ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдзреВрд▓ рдЙрдбрд╝рд╛рдиреЗ рдХреЛ рдЫреЛрдбрд╝рдХрд░), рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рдФрд╕рддрди, рдПрдХ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓рдЧрднрдЧ 50 рд╣реИ, рдХреЛрдИ рд░рдЦрд░рдЦрд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рд░ рдХреЛрдИ рдЦреБрд╢ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХреМрд╢рд▓ рдХреЛ "рдкрдВрдк" рдХрд┐рдпрд╛, рдЕрдЬрдЧрд░ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд╕реАрдЦрдирд╛; рд╕рдВрдЪрд╛рд░ рдФрд░ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХрд╛ рдЕрдиреБрднрд╡; рдЕрдВрдд рдореЗрдВ рдкреИрд╕рд╛ рдмрдирд╛рдпрд╛ред рдЕрдЧрд░ рд╕рдлрд▓рддрд╛ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдФрд░ рдЬреНрдЮрд╛рди рдХреА рдирд┐рд░рдВрддрд░ рдкреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реЛрддреА рддреЛ рдРрд╕рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рдерд╛ред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрдХ рдФрд░ рдЖрджреЗрд╢ рдорд┐рд▓рд╛, рдлрд┐рд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ ...

рдкреБрдирд╢реНрдЪ
рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рд╣реИрдмреЗ рдкрд░ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рд╢реБрд░реБрдЖрддреА рд╡рд┐рд╖рдп рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ web2py рдХреЛ рд╕рдорд░реНрдкрд┐рдд рд╣реИ!

рдкреА рдкреА рдПрд╕
рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рд╕рд╛рде рдореИрдВ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рд╣рдо рдореЗрдВ рд╕реЗ рдХрдИ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред Habr├й рдкрд░ рдЕрдВрдЧреНрд░реЗрдЬреА рд╕реАрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡рд┐рд╖рдп рд╣реИрдВ, рдкреНрд░рд╛рдВрдЧрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдСрди-рд▓рд╛рдЗрди рдкрд╛рдареНрдпрдХреНрд░рдо (рдореИрдВ рддреАрд╕рд░рд╛ рдХреЛрд░реНрд╕ рдкрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ , рджреЛ рдФрд░ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ), рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрддреНрддреЗрдЬрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдореИрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рджреНрд╡рд╛рд░рд╛ рд╕рддреНрдпрд╛рдкрд┐рддред

Source: https://habr.com/ru/post/In149357/


All Articles