Django-tastypie: prepend_urls рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 25 рдЕрдЧре░ 2012  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: django-tastypie/django-tastypie

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

рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рдмрд┐рдирд╛ рдореБрдЭреЗ рдЬреЛ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рд╣реИ:

GET / api / v1 / рд▓реЗрдЦ - 401 рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ
рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд / рдПрдкреАрдЖрдИ / v1 / рд▓реЗрдЦ / 1 / - 401
GET / рдПрдкреАрдЖрдИ / v1 / рд▓реЗрдЦ / 1 / рдЯреИрдЧ - рдЯреИрдЧ рдХреА рд╕реВрдЪреА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рд╡рд╛рдкрд╕ рдЖ рдЧрдИ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧрд▓рдд рд╣реИ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореИрдВ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░реВрдВрдЧрд╛ред

bug documentation unconfirmed

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

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

рд╕рднреА 8 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдУрд╡рд░рд░рд╛рдЗрдб_рд░рд▓реНрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдкреНрд░реЗрд╖рдг рдмрд╛рд▓ рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдВред рдпрд╣ рдХрдо рдХреЛрдб рд╣реИ, рдЖрдкрдХреЗ рд╕рднреА рдмрд╛рд▓ рд╕рдВрд╕рд╛рдзрди рдореЗрдЯрд╛ рдЧреБрдгреЛрдВ (рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд╣рд┐рдд) рдФрд░ рдлрд┐рд░ рдХреБрдЫ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг:

    def override_urls(self):
        return [
            url(r'^(?P<resource_name>%s)/(?P<pk>\w[\w/-]*)/tags%s$' % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_tags'), name='api_article_tags'),
        ]

    def dispatch_tags(self, request, **kwargs):
        return ArticleTagResource().dispatch('list', request, **kwargs)

рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ ArticleTagResource рд╕реЗ рд╕рдВрдкреВрд░реНрдг рдЕрдиреБрд░реЛрдз / рд▓реЗрдЦ / 1 / рдЯреИрдЧ / рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕реЗ рд╕реВрдЪреА-рджреГрд╢реНрдп (рдкрд░рд┐рд╡рд░реНрддрди "рд╕реВрдЪреА" рд╕реЗ "рд╡рд┐рд╕реНрддрд╛рд░" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░-рджреГрд╢реНрдп рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ)ред

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

рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИ рдФрд░ рдореИрдВ joeribekker рдХреА рд╡рд┐рдзрд┐ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдХрд┐рд╕реА рднреА рд╡рд┐рдЪрд╛рд░ рдЬрдм рдпрд╣ рддрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛? рдпрд╛ рдХрд┐рд╕реА рднреА рдХрд╛рдо?

рдореБрдЭреЗ Resource.dispatch() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдпрд╛ рд╕реВрдЪреА рджреГрд╢реНрдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред

рдПрдХ рд╕рдорд╛рдзрд╛рди рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛, рд╡рд╣ Resource.dispatch() рд╕реЗ Resource.wrap_view() рд╕реЗ рдХреБрдЫ рднрд╛рд░реА рдЙрдард╛ рд░рд╣рд╛ рд╣реИ рддрд╛рдХрд┐ wrap_view() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рднреА рджреГрд╢реНрдп рдХреЛ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд▓рдкреЗрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЬрдмрдХрд┐ рд╕рднреА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рдкреНрд░рд╛рдзрд┐рдХрд░рдг, рдФрд░ рдереНрд░реЙрдЯрд▓рд┐рдВрдЧ рдирд┐рдпрдо (рд╕рдВрднрд╡рддрдГ рд╡рд┐рдзрд┐ рдХреА рдЬрд╛рдВрдЪ рднреА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХ)ред

рдореИрдВ рдереНрд░реЙрдЯрд▓рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЪрд▓рд╛ рд╣реВрдВред рдореЗрд░рд╛ рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдПрдХ рдбреЗрдХреЛрд░реЗрдЯрд░ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВ рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо рджреГрд╢реНрдп рдореЗрдВ рд▓рдкреЗрдЯрддрд╛ рд╣реВрдВ: @apply_throttle ред рдбреЗрдХреЛрд░реЗрдЯрд░ Resource.throttle_check() рдФрд░ Resource.log_throttled_access() рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рдХреЛрдб рдХреА рдирдХрд▓ рдХрд░рддрд╛ рд╣реИред

Tastypie рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рджреЛрдиреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рдкреВрд░реНрдг wrap_view() (рдЙрдкрд░реЛрдХреНрдд рд╕рд╣рд┐рдд) _and_ рд╕рдЬреНрдЬрд╛рдХрд╛рд░ (рдпрд╛ рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рдЪреБрдирд┐рдВрджрд╛ рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдФрд░ рддрд░реАрдХрд╛), рдмрд╕ рдУрд╡рд░рд░рд╛рдЗрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рдХреА рдордВрд╢рд╛ рд╣реИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдорд┐рд▓рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдУрд╡рд░рд░рд╛рдЗрдб рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╣реИ рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдереНрд░реЙрдЯрд▓рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдЖрд░рд╛рдо рджреЗрддрд╛ рд╣реИ)ред рд╕рдЬреНрдЬрд╛рдХрд╛рд░ рдЖрдкрдХреЗ рдкрджреНрдзрддрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЙрд╕ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЗ рдмрд┐рдирд╛, рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдзрд┐ рдЬрд╛рдВрдЪ (GET, POST, рдЖрджрд┐) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рднреА рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдУрд╡рд░рд░рд╛рдЗрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдпреЗ рд╕рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреЗред

рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдкреНрд░рддрд┐ рд╕рднреА рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреНрдпрд╛ рд╣реИрдВ? рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд▓реЗ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рд╕рдордп рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рддрдирд╛рд╡ рдореЗрдВ рд╣реВрдВред

рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдПрд╕рдУ рдкрд░ рдкрд╛рдпрд╛ рдФрд░ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ред
http://stackoverflow.com/questions/11827368/tastypie-override-urls-ignores-authentication-and-authorization

рдпрд╣ рдПрдХ рдкреБрд░рд╛рдирд╛ рдзрд╛рдЧрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдореЗрд░реА рдЦреЛрдЬ рдореЗрдВ рдореБрджреНрджреЗ рдЕрднреА рднреА рдЦреБрд▓реЗ рд╣реИрдВ рдФрд░ рдЙрдЪреНрдЪ рд╕реНрдерд╛рди рдкрд░ рд╣реИрдВ ... рдПрдХ рдХреЙрд▓
рд╣реИрдВрдбрд▓рд░ рдХреА рдореБрдЯреНрдареА рд▓рд╛рдЗрди рдореЗрдВ self.is_authenticated(request) рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ред рдЯреЗрд╕реНрдЯрд╕реНрдЯреА 0.11 рдФрд░ 0.12 рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдм рдЕрдм рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рддреЗ рд╣реБрдП prepend_urls () рдХреЗ рдЕрдВрджрд░ self.wrap_view () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддреА рд╣реИред

Wra_view рдХреЗ рд╕рд╛рде рдШрдЯрдирд╛, рдореБрдЭреЗ рд╣реИрдВрдбрд▓рд░ рд╡рд┐рдзрд┐ рдореЗрдВ self.is_authenticated(request) рдереАред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

hashemian picture hashemian  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bmihelac picture bmihelac  ┬╖  40рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bastbnl picture bastbnl  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

thomasyip picture thomasyip  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lordi picture lordi  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ