小编Bra*_*cco的帖子

使用reportlab SimpleDocTemplate和Django的两个不同页面

我正在使用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)

然后只显示最后一个内容,之前的内容消失.

如何生成包含不同内容的最后一页?

python django reportlab

8
推荐指数
1
解决办法
6348
查看次数

流星和铁路由器:当id不存在时提高404

我正在使用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错误?

meteor iron-router

7
推荐指数
2
解决办法
3261
查看次数

使用Django的reportlab标头参数

我正在根据这个例子生成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)

python django reportlab

4
推荐指数
1
解决办法
997
查看次数

标签 统计

django ×2

python ×2

reportlab ×2

iron-router ×1

meteor ×1