рдиреЛрдЯ
7 рдХреЗ рдкрд░реНрдпрд╛рдкреНрдд рдирд┐: рд╢реБрд▓реНрдХ рдЕрдиреБрд╡рд╛рдж рдХреЗ
рдХрд╛рд░рдг рдХреЛрдгреАрдпрдЬреЗрдПрд╕ рдЪрдЯреНрдЯрд╛рдиреЗрдВ рд╣реИрдВ ред
рдореИрдВ рдмреИрдХрдПрдВрдб рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдирдИ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд┐рдЫрд▓реЗ рдЫрд╣ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдЙрдирдореЗрдВ рдореЗрд░реА рд░реБрдЪрд┐ рддреЗрдЬреА рд╕реЗ рдмрдврд╝ рд░рд╣реА рд╣реИред рдХрд╛рд░рдг рд╕рд░рд▓ рд╣реИ: рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП REST + JSON + рд░рд┐рдЪ JS рддрдХрдиреАрдХ рд╕реНрдЯреИрдХ рддреЗрдЬреА рд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ
рдЧрдВрджреЗ рд╕рдВрджрд┐рдЧреНрдз MVC рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдкрд░рд╛рдЬрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдПрдорд╡реАрд╕реА рдХреЛ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рдХреНрдпреЛрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рд╣реИ, рдЕрдм рд╣рдо
AngularJS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЗрд╣рддрд░ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
AngularJS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЦрд╛рд╕ рд╣реИ?
рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди
рдЬреЛ рдЖрдкрдХреЛ рдХреНрд▓реАрдирд░ рдЗрдВрдЯрд░рдлреЗрд╕, рдкрд╛рд░рджрд░реНрд╢реА рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдЕрдЪреНрдЫреЗ рдЖрдХрд╛рд░ рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред
рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХреНрд╖рдорддрд╛рдУрдВ
рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл рд╢рдмреНрджреЛрдВ рдХреЛ рд╣рд╡рд╛ рдореЗрдВ рдирд╣реАрдВ рдлреЗрдВрдХ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐
рдорд┐рдЪрдХреЛ рд╣реЗрд╡рд░реА рдЙрди рдкреНрд░рдореБрдЦ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП (рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд▓рд┐рдП) рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
e2e рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдЧреАрд▓реЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВред рдЖрдк рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$httpBackend.whenGET("http://api.example.com/data").respond({'data': 123});
рдирд┐рд╡реЗрджрдХ
рдЖрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреА рд╕реИрдХрдбрд╝реЛрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реБрдП, рдЕрдкрдиреЗ HTML рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдорд╣рд╛рди рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╕рдореБрджрд╛рдп
рд▓рдЧрднрдЧ рддреБрд░рдВрдд (рдЖрдорддреМрд░ рдкрд░ рдХреБрдЫ рдШрдВрдЯреЗ)
рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдкрд░ рдЙрддреНрддрд░ рджреЗрддреЗ рд╣реИрдВред рддреНрд╡рд░рд┐рдд рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдорд╛рдзрд╛рдиред рдкреНрд░рдореБрдЦ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдЦреБрд▓реЗ рд╣реИрдВред
рдмрд╛рдХреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ
AngularJS рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреБрдХреВрд▓ рд╣реИред рдпрд╣ рдЖрдк Github рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдХрдорд┐рдЯ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
var commits = $resource('https://api.github.com/repos/:user/:project/commits').get({user: 'mkotsur', project: 'gitoscop'})
рд╕реНрдХреЛрдкреНрд╕, рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдФрд░ рдШрдбрд╝рд┐рдпреЛрдВ
рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╣ рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдЯреНрд░реИрдХ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рдЬрд┐рдирдХреЗ рдореЙрдбрд▓ HTML рддрддреНрд╡реЛрдВ рд╕реЗ рдмрдВрдзреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рдЕрдкрдбреЗрдЯ $ рд╕реНрдХреЛрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред $ рд╡реЙрдЪред
рдХреЛрдгреАрдп рдХреЗ рд╕рд╛рде рдЧрд╣рд░рд╛рдИ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ "рдЦрд┐рд▓реМрдирд╛" рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ рдЬреЛ рдЧрд┐рдердм рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдирд╡реАрдирддрдо рдХрдорд┐рдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЪрдпрдирд┐рдд рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИред рдбреЗрдореЛ:
http://mkotsur.github.com/gitoscop , рдХреЛрдб:
https://github.com/mkotsur/gitoscop ред
рдЕрдиреБрд╡рд╛рдж рдХрд╛ рдЕрдВрддред
рдЬрдВрдЧрд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЬреЛрдбрд╝:
- рдЯреИрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕рдВрдШрд░реНрд╖ - stackoverflow.com/questions/8302928/angularjs-with-django-conflisting-template-tags ред рд╢реАрд░реНрд╖ рдЙрддреНрддрд░ 0.9.x рдХреЗ рд▓рд┐рдП рд╣реИ, рджреВрд╕рд░рд╛ рдЙрддреНрддрд░ 1.0.x рдХреЗ рд▓рд┐рдП рд╣реИред
- рд╕реАрдПрд╕рдЖрд░рдПрдл рдХреЗ рд▓рд┐рдП рдореИрдВ рдЕрдм рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:
var module = angular.module('Cabinet', [], function ($interpolateProvider) { $interpolateProvider.startSymbol('[['); $interpolateProvider.endSymbol(']]'); }). config(function($httpProvider){ $httpProvider.defaults.headers.common['X-CSRFToken'] = '{{ csrf_token }}'; });
рдХреБрдЫ рд░реЛрдЪрдХ рд▓рд┐рдВрдХ: