0
我嘗試創建一個自定義乳膠模板來從jupyter筆記本創建PDF輸出。我想以特殊方式標記單元格時取消單元格輸出。例如,讓說我編輯給定單元元數據(從筆記本/「編輯元數據」),並添加該子JSON:從jinja2模板訪問單元格元數據
[...]
"tpl": {
"view_in": true,
"view_out": false
},
[...]
於是,我試圖通過使用cell
變量導出模板,如http://nbconvert.readthedocs.org/en/latest/customizing.html#Templates-that-use-cell-metadata所示簡單:
% ((*- extends 'report.tplx' -*))
% Disable input cells
((* block input_group *))
((* endblock input_group *))
% disable output if required from metadata
((* if cell['metadata'].get('tpl', {}).get('view_out', True) == true *))
((* block output_group *))
((* endblock output_group *))
((* endif *))
但Jinja2的抱怨,當我試圖生成我的PDF:
$ jupyter nbconvert --to pdf C4_RevD.ipynb --template=tpl.tpl
[...]
jinja2.exceptions.UndefinedError: 'cell' is undefine
如何從一個Jinja2的細胞metdata一個訪問模板?
[編輯]使用版本:
Python: 2.7.6
jupyter: 4.0.6
jupyter notebook: 4.1.0
jinja2: 2.8
'cell'變量只能在'any_cell'塊和塊內部的塊中使用。因此,他們添加的代碼已經在裏面了 - 您需要檢查'output_group'塊中的元數據,並決定是否給它內容。 –
@ThomasK:感謝您的提示,它的工作原理。如果你會寫出正確的答案,我會將其標記爲解決方案。 – Nic