如何在Django模板中使用变量数据在模板标签中使用

时间:2018-02-07 08:41:48

标签: django django-templates django-views

urls.py 文件

from articles.views import home    

urlpatterns = patterns('',
   url(r'^home/$',home.as_view(),name='home'),
 )

views.py 文件

class home(TemplateView):
    template_name='article.html'

    def get(self, request):
        form = Homeform()
        return render(request,self.template_name, {'form':form})

    def post(self,request):
        file_path = '/u/vinay/checking.py'
        args={'file_path':file_path}
        return render(request,self.template_name, args)

article.html 文件

{% load static %}
<html>
<body>

<a href="{% static '{{ file_path }}' %}" download ><button class="button button2">Download plan</button></a>

<p>{{ file_path }} </p>
</body>
</html>

但是我没有从GUI输出文件。

因为我在file_path位置创建该文件的下载链接。所以如何将视图中的文本呈现到article.html

2 个答案:

答案 0 :(得分:1)

你在模板标签里面没有noun个标志。试试这个:

{{}}

检查django docs了解详情。

答案 1 :(得分:1)

请参阅template tags的文档:

href="{% static file_path %}"

Ninja'ed ..

此外,你的视图功能都搞砸了,我很惊讶它显示任何东西:

def vin(request):
    return render(request,'article.html', {'file_path':'xyz.py'})

试试这个:

class home(TemplateView):
    template_name='article.html'

    def get_context_data(self,*args,**kwargs):
        context = super().get_context_data(*args,**kwargs)
        context['file_path'] = '/u/vinay/checking.py'
        return context

# END OF VIEW --- no get or post method, let the generic view handle that.