序言
在一些应用场景下(如利用api进行二次开发时),需要屏蔽notebook上面默认的退出、回到控制面板等按钮,否则可能会出现两端不同步的情况,为此进行了探索,将修改的方法记录在本文中。
需求分析
1.让用户不能在notebook界面进行退出、回到控制面板操作
2.让用户不能在notebook界面进行新建notebook的操作
3.菜单栏中其他需要对用户进行屏蔽的选项
操作
找到/usr/local/lib/python3.6/dist-packages/notebook/templates 该文件夹下存放了notebook的html基础文件
修改page.html中的代码,如下即可实现屏蔽页面header(包含jupyter-logo、退出、回到控制台等按钮)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<div id="header"> <!-- <div id="header-container" class="container"> <div id="ipython_notebook" class="nav navbar-brand"><a href="{{default_url}} {%- if logged_in and token -%}?token={{token}}{%- endif -%}" title='{% trans %}dashboard{% endtrans %}'> {% block logo %}<img src='{{static_url("base/images/logo.png") }}' alt='Jupyter Notebook'/>{% endblock %} </a></div> {% block headercontainer %} {% endblock %} {% block header_buttons %} {% block login_widget %} <span id="login_widget"> {% if logged_in %} <button id="logout" class="btn btn-sm navbar-btn">{% trans %}Logout{% endtrans %}</button> {% elif login_available and not logged_in %} <button id="login" class="btn btn-sm navbar-btn">{% trans %}Login{% endtrans %}</button> {% endif %} </span> {% endblock %} {% endblock header_buttons %} </div> <div class="header-bar"></div> --> {% block header %} {% endblock %} </div> |
修改notebook.html,该文件主要配置了菜单栏内容,可以按照需求对相应的功能进行屏蔽,如下所示,即可屏蔽菜单栏中New Notebook选项。
1 2 3 4 |
<!-- <li id="new_notebook" class="dropdown-submenu"> <a href="#">{% trans %}New Notebook{% endtrans %}</a> <ul class="dropdown-menu" id="menu-new-notebook-submenu"></ul> </li> --> |