我正在尝试使用 pdfkit 将 HTML 模板转换为 PDF,但模板中的数据未加载到 pdf 中
I'm trying to convert a HTML template to PDF with pdfkit but the data from the template not loaded in the pdf
views.py
def resume(request,id):
user_profile=Profile.objects.get(pk=id)
template= loader.get_template("Resume/profile.html")
html= template.render({'user_profile':user_profile})
options={
'page-size':'Letter',
'encoding' : 'UTF-8',
}
pdf= pdfkit.from_string(html,False,options)
response= HttpResponse(pdf, content_type='application/pdf')
response['Content-Disposition']= 'attachment'
return response
profile.html
{% extends "Resume/layout.html" %}
{% block body %}
<h2>{{ user_profile.full_name }}</h2>
<h2>{{ user_profile.job_title }}</h2>
<hr>
<h2>{{ user_profile.email }}</h2>
<h2>{{ user_profile.phone }}</h2>
<h2>{{ user_profile.home_adress }}</h2>
<hr>
<p>Summary</p>
<p> {{ user_profile.work_experience }}</p>
<p> {{ user_profile.skills }}</p>
<hr>
<p>Education</p>
<ul>
<li>
{{user_profile.diplomes}}
</li>
</ul>
<hr>
{% endblock %}
![这是我得到的 pdf][1]
[1]:(https://i.stack.imgur.com/PXlt3.png)
我正在尝试使用 pdfkit 将 HTML 模板转换为 PDF,但模板中的数据未加载到 pdf 中
谁能帮我解决这个问题,我不知道是什么问题
在你的简历函数中:
而不是:
template= loader.get_template("Resume/profile.html")
html= template.render({'user_profile':user_profile}
使用这个:
html = loader.render_to_string('Resume/profile.html', {'user_profile':user_profile})
您的代码将如下所示:
from django.template import loader
def resume(request,id):
user_profile=Profile.objects.get(pk=id)
html = loader.render_to_string('Resume/profile.html', {'user_profile':user_profile})
options={
'page-size':'Letter',
'encoding' : 'UTF-8',
}
pdf= pdfkit.from_string(html, pdf_url)
response= HttpResponse(pdf, content_type='application/pdf')
response['Content-Disposition']= 'attachment'
return response
views.py
def resume(request,id):
user_profile=Profile.objects.get(pk=id)
template= loader.get_template("Resume/profile.html")
html= template.render({'user_profile':user_profile})
options={
'page-size':'Letter',
'encoding' : 'UTF-8',
}
pdf= pdfkit.from_string(html,False,options)
response= HttpResponse(pdf, content_type='application/pdf')
response['Content-Disposition']= 'attachment'
return response
profile.html
{% extends "Resume/layout.html" %}
{% block body %}
<h2>{{ user_profile.full_name }}</h2>
<h2>{{ user_profile.job_title }}</h2>
<hr>
<h2>{{ user_profile.email }}</h2>
<h2>{{ user_profile.phone }}</h2>
<h2>{{ user_profile.home_adress }}</h2>
<hr>
<p>Summary</p>
<p> {{ user_profile.work_experience }}</p>
<p> {{ user_profile.skills }}</p>
<hr>
<p>Education</p>
<ul>
<li>
{{user_profile.diplomes}}
</li>
</ul>
<hr>
{% endblock %}
![这是我得到的 pdf][1]
[1]:(https://i.stack.imgur.com/PXlt3.png)
我正在尝试使用 pdfkit 将 HTML 模板转换为 PDF,但模板中的数据未加载到 pdf 中 谁能帮我解决这个问题,我不知道是什么问题
在你的简历函数中: 而不是:
template= loader.get_template("Resume/profile.html")
html= template.render({'user_profile':user_profile}
使用这个:
html = loader.render_to_string('Resume/profile.html', {'user_profile':user_profile})
您的代码将如下所示:
from django.template import loader
def resume(request,id):
user_profile=Profile.objects.get(pk=id)
html = loader.render_to_string('Resume/profile.html', {'user_profile':user_profile})
options={
'page-size':'Letter',
'encoding' : 'UTF-8',
}
pdf= pdfkit.from_string(html, pdf_url)
response= HttpResponse(pdf, content_type='application/pdf')
response['Content-Disposition']= 'attachment'
return response