我正在使用django并根据此示例生成报告,我需要生成最后一页但没有页眉或页脚和不同的内容.
我正在尝试这样做:
def print_example(self):
buffer = self.buffer
doc = SimpleDocTemplate(buffer,
rightMargin=72,
leftMargin=72,
topMargin=72,
bottomMargin=72,
pagesize=self.pagesize)
elements = []
elements.append(Paragraph('Content for all pages'), my_custom_style)
# ...
doc.build(elements, onFirstPage=self._header_footer, onLaterPages=self._header_footer,
canvasmaker=NumberedCanvas)
doc2 = SimpleDocTemplate(buffer,
rightMargin=72,
leftMargin=72,
topMargin=72,
bottomMargin=72,
pagesize=self.pagesize)
elements2 = []
elements2.append(Paragraph('Content for the last page only'), my_custom_style)
doc2.build(elements2, canvasmaker=NumberedCanvas)
# Get the value of the BytesIO buffer and write it to the response.
pdf = buffer.getvalue()
buffer.close()
return pdf
Run Code Online (Sandbox Code Playgroud)
然后只显示最后一个内容,之前的内容消失.
如何生成包含不同内容的最后一页?
我正在使用Iron Router作为我的网址,我有这条路线:
this.route('regionEdit', {
path: '/region/:_id',
waitOn: function() {
return Meteor.subscribe('region', this.params._id);
},
data: function() {
return Regions.findOne({
_id: this.params._id
});
}
});
Run Code Online (Sandbox Code Playgroud)
当我使用这条路径时,这很好用 http://example.com/region/xgok3Etc5mfhtmD7j
哪里xgok3Etc5mfhtmD7j是_id区域的.但是,当我访问时http://example.com/region/whatever,页面正常呈现,但没有数据.
如何为此引发404错误?
我正在根据这个例子生成PDF 并且工作正常,但是我在标题部分有一点问题,这是实际的代码:
def _header_footer(canvas, doc):
# Save the state of our canvas so we can draw on it
canvas.saveState()
styles = getSampleStyleSheet()
# Header
header = Paragraph('This is a multi-line header. It goes on every page. ' * 5, styles['Normal'])
w, h = header.wrap(doc.width, doc.topMargin)
header.drawOn(canvas, doc.leftMargin, doc.height + doc.topMargin - h)
# Release the canvas
canvas.restoreState()
Run Code Online (Sandbox Code Playgroud)
我想将数据从模型发送到标题,就像这样
def _header_footer(canvas, doc, custom_data):
canvas.saveState()
styles = getSampleStyleSheet()
header = Paragraph('This is my %s' % custom_data')
#etc.
Run Code Online (Sandbox Code Playgroud)
_header_footer被调用:
doc.build(elements, onFirstPage=self._header_footer, …Run Code Online (Sandbox Code Playgroud)