4

环境:

Python 3.6
Django 1.11

我保存了一个.ipynb文件,.html因为我想实现这个 html 以在我的主页上显示它(尚未在线)。

我在我的主页上使用 Bootstrap 4.0 beta 作为样式。我有一个导航栏,它被继承到这个项目的任何 html 文件中,它工作得很好。

但是jupyter notebook的html文件只有在我不继承navbar的情况下才能正确显示。如果我尝试继承,导航栏将不再正确显示。

我的计划是建立自己的博客,在其中发布 markdown 文件(当我不包含 Python 或 R 代码时)或 jupyter notebook 或 rmarkdown notebook。

RMarkdown 或 Jupyter Notebooks 都可以转换为 html、markdown 或 pdf。但是尝试了前2个,它不起作用。如您所知,如果在浏览器中打开,它们会完美显示。但当然我想保持我已经实现的导航。

所以我希望你能给我一个提示,我该怎么做;我还是个初学者,尤其是 Django。但是我尝试了很多东西:

  1. 我首先准备好我的主页并使用了 Django 应用程序 zinnia。我可以发布带有可用结果的 RMarkdown,但不能发布 Jupyter 笔记本(因为同样的问题)。
  2. 我尝试转换成 Markdown 并在 Zinnia 中使用它,但结果更糟。
  3. 试图操纵笔记本的 html 文件,但这并没有改变任何东西。
  4. 尝试在终端中使用 nbconvert 手动转换(我认为这是相同的转换方法,因为没有区别)
  5. 从头开始构建一个新页面(这次使用 bootstrap 4,而我首先使用 3)。但同样的问题仍然存在。

唯一有效的方法是省略导航栏或省略样式。但显然其他人已经找到了完美的解决方案,因为网上有很多页面都很好地实现了 jupyter notebooks。

我有一个 base.html,其中创建了导航栏并加载了引导样式。所有其他 html 文件都继承自该文件,如下所示:

{% extends 'base.html' %}
{% block content %}

(here is the individual html content or the html code of the jupyter notebook)

{% endblock %}

编辑:我刚刚发现:https ://nipunbatra.github.io/blog/2017/Jupyter-powered-blog.html

看起来这个人在遇到同样的问题时找到了解决方法,但我无法理解所有内容。

如果您对我有提示,请告诉我。对于所有遇到相同问题的人,也许您可​​以使用该博客文章中的信息解决问题。

4

1 回答 1

0

虽然我没有完美的解决方案,但我认为这只是有人花一些时间清理前端外观的问题。我不擅长js等,但在后端我做了一些事情。

  • nbconvertbasic您博客中讨论的模板一起使用
  • 在 Django 中使用FileField模型来上传这个
  • 为这些创建一个视图;可能是列表和详细信息视图

剩下的将是:

  • 创建一个模板,该模板采用基本的 html 文件并使用样式表将其修饰为您喜欢的样子

正如我所说,我已经完成了前三个步骤,但输出很难看。您也可以尝试使用ipypublish进行 HTML 转换。Jupyter 有一个博客对我来说很有趣,但我找不到任何关于他们如何或是否使用笔记本来制作它的文档......

于 2018-08-22T18:00:44.693 回答