Django рдореЗрдВ WebSocket рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛

рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдзреНрдпрд╛рди рджреЗрдВ: рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдФрд░ Django рдПрдХ рдЬрдЯрд┐рд▓ рд╡рд┐рд╖рдп рд╣реИ, рдЬрд┐рд╕реЗ рдПрдХ рдмрд╛рд░ рд╣рдмреНрд░рд╣рд╛рдмреНрд░ рдкрд░ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдирд╛рдВрддрд░ рдмреИрдХреЗрдВрдб рд▓рд┐рдЦрдирд╛ рд╣реИред рд▓реЗрдЦрдХ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╕рддреНрдп рдЕрднреА рднреА рд╕рдордп рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╣реИред

рдЯреАрдПрд▓; рдбреАрдЖрд░ - рдореИрдВ Django рдореЗрдВ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдерд╛ред рдЖрдкрдХреЛ рдмрд╕ django-websocket-request рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдирд╛ рд╣реИ, рдФрд░ рдЕрдм рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди websockets рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ! рдпрд╣ рдирд┐рд░реНрдгрдп Django рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп (рдХреБрдЫ рд╣рдж рддрдХ) HTTP рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрдкрдХреЗ рд╕рднреА рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдЧрд╛ред рд╕рдорд╛рдзрд╛рди Django рд░реЗрд╕реНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдФрд░ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдХрдХреНрд╖рд╛ рдЖрдзрд╛рд░рд┐рдд рджреГрд╢реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА

рд╣рдо рдмреНрд▓рд┐рдВрдк 2 рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓рдЧрд╛рддрд╛рд░ рдХреЛрдб рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмрджрд▓рд╛рд╡ рд╣реИрдВ, рдФрд░ рд╣рдо рдкреБрд░рд╛рдиреА рдФрд░ рдирдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред рдЕрдкрдиреЗ рдлреИрд╕рд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдЬреЛ рдирд┐рд░реНрдгрдп рд▓рд┐рдП, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдиреЗ рдлреНрд░рдВрдЯрдПрдВрдб рдФрд░ рдмреИрдХрдПрдВрдб рдХреА рдмрд╛рддрдЪреАрдд рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред

рдмреНрд▓рд┐рдВрдк рд╡рд░реНрддрдорд╛рди рдореЗрдВ Django рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реИред рдпрд╣ рд╣рдорд╛рд░реЗ HTML рдХреЛрдб рдХреЛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдФрд░ рдирд┐рдЬреА рдПрдкреАрдЖрдИ, рд╕рднреА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓ рддрдХ рддрдХ, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрд╕реА рдХреЗ рдЖрд╕рдкрд╛рд╕ рдмрдирд╛рдП рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рдмреНрд▓рд┐рдВрдк рдореЗрдВ рдПрдХ рдореЛрдЯреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИред рд╕рд╛рдзрд╛рд░рдг рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рдирд┐рдореНрди рддрд░реАрдХреЗ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ: рдЖрдк рдПрдХ URL рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рдХреБрдЫ рдХрд╛рдо рдмреИрдХрдПрдВрдб рдХреА рдУрд░ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдиреБрд░реЛрдз, рдХреИрд╢рд┐рдВрдЧ, рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ, HTML рдкреЗрдЬ рд░реЗрдВрдбрд░ рдХрд░рдирд╛, рддреГрддреАрдп-рдкрдХреНрд╖ CSS рдФрд░ JavaScript рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЛрдб рдХрд░рдирд╛, рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЛрдб рдХрд░рдирд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ, рдХреБрдЫ рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ, рдФрд░ рдЕрдВрдд рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдЖрд░реЗрдЦрдгред

рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдХрдИ рдорд╣реАрдиреЛрдВ рдХреЗ рдЕрднреНрдпрд╛рд╕ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рдорд┐рд▓реЗ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдмреИрдХрдПрдВрдб рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ JSON рдкреАрдврд╝реА рдХреЛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди HTML рд░реЗрдВрдбрд░рд┐рдВрдЧ рдирд╣реАрдВ, рдФрд░ рд╣рдорд╛рд░рд╛ рдлреНрд░рдВрдЯ-рдПрдВрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдЬрд┐рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░реЗрдЧрд╛ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рд╣рдордиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рд╕рдВрднрд╡ рд╣реЛ, рдФрд░ рдирд┐рдпрдорд┐рдд рдПрдХреНрд╕рдПрдЪрдЖрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред

Django рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рдЬреИрд╕реЗ HTTP рдЕрдиреБрд░реЛрдз / рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЪрдХреНрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдирдореЗрдВ рд╕рдм рдХреБрдЫ, рджреЛрдиреЛрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рддрдВрддреНрд░, рдЗрдирдкреБрдЯ рдкрд░ рдПрдХ HTTP рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдПрдХ HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреЗрдЬрддреЗ рд╣реИрдВред рджреВрд╕рд░реА рдУрд░, рд╡реЗрдм рд╕реЙрдХреЗрдЯ рд╕рд░реНрд╡рд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЪрдХреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдкрддрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдереЗ:
1. рдбреЗрдЯрд╛ рдХреЛ рдХреНрд░рдордмрджреНрдз рдФрд░ рдбрд┐рд╕реЗрд░реНрдмрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рддрдВрддреНрд░, HTTP рдмреИрдХрдПрдВрдб рд╕реЗ рдФрд░ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдПрдкреАрдЖрдИ рд╕реЗ рджреЛрдиреЛрдВред
2. рд╕рднреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХред

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

рд╣рдореЗрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рд╣рдо рдПрдХ рдПрдХрд▓ REST API рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рджреЛ рдЪреИрдирд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧреА: HTTP рдФрд░ рд╡реЗрдм рд╕реЙрдХреЗрдЯред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╕рд┐рд░реНрдл рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рд▓рд┐рдЦрдиреЗ рд╕реЗ рдмрдЪрдирд╛ рд╣реЛрдЧрд╛ред рдПрдХ рдмрд┐рдВрджреБ рдкрд░, рдпрд╣ рдореБрдЭ рдкрд░ dawnedред рдореБрдЭреЗ Sails.js рдпрд╛рдж рдЖрдпрд╛ , рдЬреЛ рдХрд┐ рд╣рдо рдЬреЛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рд╕рд╛рде рднреА рдХреБрдЫ рдРрд╕рд╛ рд╣реА рд╣реИред

рд╕реЗрд▓ рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрдВрддреНрд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЖрдкрдХреЗ рд╣реИрдВрдбрд▓рд░ рдХреЛ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рдФрд░ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЕрддреАрдд рдореЗрдВ, рдЖрдкрдХреЛ рдРрд╕рд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╣рдо рдПрдХ рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп рддрдВрддреНрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ рдЬреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЪреАрдЬрд╝ рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рдерд╛, рдЬреЛ рд╣рдореЗрдВ Django рдЕрдиреБрд░реЛрдз / рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЪрдХреНрд░ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рдирд┐рд░реНрдгрдп

WebSocketRequest рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдирд┐рдХрд▓рд╛ред рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд░реНрдЧ рд╣реИ рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреБрдВрдЬрд┐рдпреЛрдВ рд╡рд╛рд▓реА JSON рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ: рд╡рд┐рдзрд┐, url, рдбреЗрдЯрд╛ рдФрд░ рдЯреЛрдХрдиред рд╡рд┐рдзрд┐ рдХреБрдВрдЬреА рдХрд┐рд╕реА рднреА HTTP рд╡рд┐рдзрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ: GET, POST, PUT, DELETE, PATCH, HEAD, рдпрд╛ рд╡рд┐рдХрд▓реНрдкред URL рдирд╛рдо рдХреЗ рдмрд┐рдирд╛ url рдХреБрдВрдЬреА рдПрдХ рдирд┐рд░рдкреЗрдХреНрд╖ URL рд╣реИред рдбреЗрдЯрд╛ рдХреБрдВрдЬреА рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ - рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИред рдЯреЛрдХрди рдХреБрдВрдЬреА рднреА рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ - HTTP рдСрдерд░рд╛рдЗрдЬреЗрд╢рди рд╣реЗрдбрд░ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, JSON рд╡реЗрдм рдЯреЛрдХрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдпрд╛ рдЕрдкрдиреА рдЦреБрдж рдХреА рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк JSON рд╡реЗрдм рдЯреЛрдХрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд▓реЗрдЦ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк Django REST рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╢рд╛рдпрдж django-rest-рдлреНрд░реЗрдорд╡рд░реНрдХ-jwt рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред

WebSocketRequest рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
  1. рдЬрд╛рдБрдЪ JSON рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЖрддрд╛ рд╣реИ
  2. рдЕрдиреБрд░реЛрдз рдХрд╛рд░рдЦрд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддрд╛ рд╣реИ (RequestFactory)
  3. рдбрд╛рдпрдирд╛рдорд┐рдХ рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ WSGIRequest рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реИ
  4. рдЙрдкрдпреБрдХреНрдд URL рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдвреВрдБрдврддрд╛ рд╣реИ
  5. URL рд╕реЗ рдЖрдП рд╕рднреА рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкрд╛рдпрд╛ рдЧрдпрд╛ рджреГрд╢реНрдп рдЪрд▓рд╛рддрд╛ рд╣реИред


рд╣рд╛рдВ, рд╣рд╛рдВ, рдЕрдиреБрд░реЛрдз рдХрд╛рд░рдЦрд╛рдирд╛, рдЖрдкрдиреЗ рдЗрд╕реЗ рд╕рд╣реА рдкрдврд╝рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрднреА рднреА Django рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦ рдЪреБрдХреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЕрдиреБрд░реЛрдз рдХрд╛рд░рдЦрд╛рдирд╛ рдЕрдиреБрд░реЛрдз рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рднреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдирдХрд╛рд░рд╛рддреНрдордХ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЕрдиреБрд░реЛрдз рдорд┐рдбрд▓рд╡реЗрдпрд░ рддрдВрддреНрд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЗрд╕реЗ рдХреИрд╕реЗ рд╕реБрдзрд╛рд░рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдЯреВрдЯ рд╕рдХрддрд╛ рд╣реИ? рдФрджреНрдпреЛрдЧрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдбреЗрдореЛ

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ Django рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмрд╡рдВрдбрд░ рдПрдХ рд╕реНрдерд┐рд░ HTML рдлрд╝рд╛рдЗрд▓ рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рднреА django-websocket- рдЕрдиреБрд░реЛрдз рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЬрд╛рджреВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реЛ рд░рд╣реЗ рд╣реИрдВред

рдореИрдВрдиреЗ рд╣рд░реЛрдХреВ рдкрд░ рдбреЗрдореЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛: http://dwr-example.herokuapp.com/ ред рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ, рдбреЗрдЯрд╛ рд╕рдордп-рд╕рдордп рдкрд░ рдорд┐рдЯ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рд▓рд┐рдЦреЗрдВред

рдЖрдк рдкрд╛рдЗрдк рдХреЗ рд╕рд╛рде WebSocketRequest рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

pip install django-websocket-request

рд╕реНрд░реЛрдд рдХреЛрдб:
https://github.com/GetBlimp/django-websocket-request

рдбреЗрдореЛ рдЖрд╡реЗрджрди:
https://github.com/GetBlimp/django-websocket-request-example

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


All Articles