Я создал собственный шаблонный тег, который хочу использовать на каждой странице моего веб-сайта. У меня есть функция get_ip внутри пользовательского тега шаблона, которому нужен параметр request для получения IP-адреса от пользователя. Смотрите ниже:
MyApp / templatetags / header_tags.py
from django import template
register = template.Library()
...
from django.http import HttpResponse
from django.template import RequestContext
from django.shortcuts import render_to_response
from django.http import HttpResponseRedirect
@register.inclusion_tag('template.html', takes_context = True)
def user_ip(context):
request = context['request']
ip = get_ip(request)
return render_to_response('template.html',locals(), context_instance=RequestContext(request))
template.html
{{ ip }}
my_main_template.html
{% load header_tags %}
{% user_ip %}
Почему-то мой ip не сеет по моему основному шаблону. Моя функция get_ip работает, если использовать шаблон на странице views.py обычным способом, но по какой-то причине не показывает, когда используется из пользовательского тега шаблона выше. Есть идеи?