2017-01-03 59 views
0

我试图访问我自定义模板标签函数中的request。但它不起作用。在django模板标签中传递请求

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> 
+2

什么是不工作?你是否收到任何错误讯息? – Withnail

+1

你想写一个自定义模板标签或自定义过滤器吗? –

+0

感谢您的意见。对不起,我得到了问题。将register.filter更改为register.simple_tag。我替换了{{candidate.resume_file.url | make_url}}和html中的{%make_url candidate.resume_file.url%} – Thameem

回答