Django рдореЗрдВ рдЕрдВрддрд┐рдо рдмрд╛рд░ рджреЗрдЦреЗ рдЧрдП / рд╣рд╛рд▓ рдХреЗ рдкреГрд╖реНрдареЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ

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


рд╡рд┐рдХрд▓реНрдк рдПрдХ


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

рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк


рдЯреЗрдореНрдкреНрд▓реЗрдЯреЗрдЯрд╛рдЧ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЛрдг рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рдпрд╣ рд╕реЛрдЪреЗрдВ рдХрд┐ рдЗрд╕ рдЯреИрдЧ рдХреЛ base.html рдореЗрдВ рдХреИрд╕реЗ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛рдПред

рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк


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




рд╢реАрд░реНрд╖рдХ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдЧ

рдпрджрд┐ рдЖрдк рдПрдХ рд╣реА рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЕрдЬрд╛рдХреНрд╕-рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдиреБрд░реЛрдз рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП редis_ajax () рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЯреВрдЯреА рд╣реБрдИ рд▓рд┐рдВрдХ рдХреЛ рди рдмрдЪрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред

@register.simple_tag(takes_context=True, name='save_visited') def save_visited(context, title, **kwargs): request = context['request'] # store last five pages identify_by = get_user_identification(request) visited_pages = cache.get('visited_pages_%s' % identify_by, [])[:4] # context.use_tz - why None if set True in settings? # may be we should save datetime.now() and convert it in getter? now = timezone.now() bundle = force_unicode(title), request.get_full_path()[:255], now visited_pages.insert(0, bundle) cache.set('visited_pages_%s' % identify_by, visited_pages, 60*60*24) return title 


рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
 {% extends 'forum/themes/default/edit_profile.html' %} {% load last_visited i18n %} {% block title %}{% save_visited _("Profile setup") %}{% endblock %} 


рдЧреЗрдЯреНрдЯрд░ рдЯреИрдЧ, рд╕реВрдЪреА рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрджрд░реНрдн рдЪрд░ рдореЗрдВ рдЙрддрд╛рд░рддрд╛ рд╣реИ


 @register.simple_tag(takes_context=True, name='load_visited') def load_visited(context, variable, **kwargs): identify_by = get_user_identification(context['request']) context[variable] = cache.get('visited_pages_%s' % identify_by, []) return u'' 


рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
 {% load_visited 'visited' %} {% for title, uri, dt in visited %} <a href="{{ uri }}">{{ title }} {% trans "at" %} {{ dt }}</a><br/> {% endfor %} 


рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдПред рдФрд░ рдлрд┐рд░ рднреА, рдорд┐рдбрд▓рд╡реЗрдпрд░ рд╡рд┐рдХрд▓реНрдк рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИред

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


All Articles