我尝试访问自定义模板标记功能中的request
。但它没有用。
views.py
def candidate(request):
.......
.......
return render(request, template, context)
templatetags
@register.simple_tag(takes_context=True)
def make_url(context, doc_url):
request = context["request"]
protocol = "https://" if request.is_secure() else "http://"
host = request.get_host()
new_url = "%s%s%s" %(protocol, host, doc_url)
return new_url
template.html
<iframe src="{{ candidate.resume_file.url | make_url }}" frameborder="0"></iframe>
答案 0 :(得分:2)
Django过滤器没有被赋予对它们被调用的上下文的任何特殊访问权限,它们只是普通的旧函数。
您需要在函数中传递您想要使用的任何内容。
https://docs.djangoproject.com/en/dev/howto/custom-template-tags/