рдкреНрд░рд╢рд╛рд╕рди рдореЗрдВ jQuery

DjangoAdvent рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ jQuery рдХрд╛ рдЕрдиреБрд╡рд╛рдж


R12297 рдЕрдкрдбреЗрдЯ рдиреЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдирд╕рдиреА рдмрдирд╛рдИ: jquery.js рдирд╛рдордХ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ django/contrib/admin/media/js jquery.js рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреАред Django рдХреЗ рдкреНрд░рд╢рд╛рд╕рди рдореЗрдВ, рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рдирдП рдпреБрдЧ рдХреА рд╢реБрд░реБрдЖрдд, рдлреИрд╢рдиреЗрдмрд▓ рд╕реБрд╡рд┐рдзрд╛рдУрдВ, рд╕реБрдВрджрд░ рд╡рд┐рдЧреЗрдЯреНрд╕ рдФрд░ рдмреЗрд╣рддрд░ рдкреНрд░рдпреЛрдЬреНрдп рдХреЗ рдпреБрдЧ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред

JQuery рдХреЗ рд▓рд┐рдП рддрд░реНрдХ


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

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

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

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╣реИ рдХрд┐ Django jQuery рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрддрд╛ рд╣реИ


рд╕рдореБрджрд╛рдп рдореЗрдВ рдХреБрдЫ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ jQuery рдХреА рд╢реБрд░реВрдЖрдд рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рд╛ рд░рд╣реА рд╣реИ, рдЬреЛ рдХрд┐ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Django рдЙрдкрдХрд░рдг рдХреА рдкрд╕рдВрдж рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░рд╣рддрд╛ рд╣реИред рдкреНрд░рд╢рд╛рд╕рди рдПрдХ рдРрдб-рдСрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬреЛ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдирд╣реАрдВред рдкреНрд░рд╢рд╛рд╕рди рдЙрдкрдХрд░рдг рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рднреА рдЙрдирдХреЗ рд▓рд┐рдП рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИрдВред

рдпрджрд┐ рдЖрдк Django рдХреЗ рдкреНрд░рд╢рд╛рд╕рди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ jQuery рдЖрдкрдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддрд╛рдХрд┐ $ рдлрд╝рдВрдХреНрд╢рди рдиреЗ рдирд╛рдо рд╕реНрдерд╛рди рдирд╣реАрдВ рд▓рд┐рдпрд╛, рдкреНрд░рд╢рд╛рд╕рди jQuery.noConflict() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЖрдк рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд┐рд░реЛрдз рдХреЗ рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд┐рдЬреЗрдЯреНрд╕ рдореЗрдВ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕реЗ $() рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, jQuery рдХреЗрд╡рд▓ рдЙрди рдкреГрд╖реНрдареЛрдВ рдкрд░ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╡рд┐рдЬреЗрдЯ рд╣реИрдВ рдЬреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

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

рдЕрдм Django рдХрд╛ рдкреНрд░рд╢рд╛рд╕рди рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдЧрд╛


рдмрд╛рд╣рд░реА рдкреНрд░рд╢рд╛рд╕рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдереЛрдбрд╝рд╛ рд╕реНрдерд┐рд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЙрдиреНрдирдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ jQuery, рдирдпрд╛ "рдХрд┐рдВрдЧ рдСрдлрд╝ рдбрд┐рдЬрд╝рд╛рдЗрди" , рдФрд░ рдмреЗрд╣рддрд░ рдкреНрд░рдпреЛрдЬреНрдп рдкрд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдореБрджрд╛рдп рдлреЛрдХрд╕ред

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

рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ


рдкрд╣рд▓реЗ jQuery рдкреНрд░рд╢рд╛рд╕рди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдирдИ рд▓рд╛рдЗрдиреЗрдВ рдЬреЛрдбрд╝рдирд╛ рдерд╛ред рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВ:



рд╡рд┐рдХрд╕рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрдИ Django 1.2 рдореЗрдВ рдирд╣реАрдВ рдЧрд┐рд░реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреНрд░реИрдЧрд┐рдВрдЧ рдФрд░ рдбреНрд░реЙрдкрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдСрд░реНрдбрд░-рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдореЙрдбрд▓-рдЗрдирд▓рд╛рдЗрди рдХреЗ рдХреНрд░рдо рдХреЛ рдмрджрд▓рдирд╛, рд╕рд╛рде рд╣реА рдбреНрд░реЙрдк-рдбрд╛рдЙрди рдореЗрдиреВ (рдпрд╛ raw_id_fields) рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА рдФрд░ M2M рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдСрдЯреЛ-рдлрд┐рд▓ рд╡рд┐рдЬреЗрдЯред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпреЗ рдФрд░ рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдПрдБ Django 1.3 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреАред

рдпрд╣ Django рдкреНрд░рд╢рд╛рд╕рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рд╕рдордп рд╣реИред рдХрдИ рдард╛рда рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрд╕реНрдХрд░рдг 1.2 рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдФрд░ 1.3 рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рдордп рдпреЗ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рдПрдВрдЧреАред JQuery рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

DjangoAdvent рд╕реЗ рдкрд┐рдЫрд▓реЗ рдЕрдиреБрд╡рд╛рдж:

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


All Articles