Flask扩展( Flask-Bootstrap)


  • Flask-Bootstrap
    • 安装
    • 使用

Flask-Bootstrap Bootstrap 是 Twitter 开发的一个开源框架,它提供的用户界面组件可用于创建整洁且具有吸引力的网页,而且这些网页还能兼容所有现代 Web 浏览器。
Bootstrap 是客户端框架,因此不会直接涉及服务器。服务器需要做的只是提供引用了 Bootstrap 层叠样式表(CSS)和 JavaScript 文件的 HTML 响应, 并且 HTML、CSS 和 JavaScript 代码中实例化所需组件。这些操作最理想的执行场所就是模版。
Flask-Bootstrap 可以在程序中集成 Bootstrap
安装
pip install flask-bootstrap

使用 Flask 扩展一般都在创建程序实例时初始化。
from flask_bootstrap import Bootstrap#...bootstrap = Bootstrap(app)

初始化 Flask-Bootstrap 之后,就可以在程序中使用一个包含所有Bootstrap 文件的基模版。这个模版利用 Jinja2 的模版继承机制,让程序扩展一个具有基本页面结构的基模版,其中就有用来引入 Bootstrap 的元素。
{% extends "bootstrap/base.html" %}{% block title %}Flasky{% endblock %}{% block navbar %} {% endblock %}{% block content %}
{% endblock %}

Jinja2 中的 extends 指令从 Flask-Bootstrap 中导入 bootstrap/base.html,从而实现模版继承。Flask-Bootstrap 中的基模版提供了一个网页框架,引入了 Bootstrap 中的所有 CSS 和 JavaScript 文件。
基模版中定义了可在衍生模版中重定义的块。blockendblock 指令定义的块中的内容可添加到基模版中。
上面这个示例定义了3个块,分别名为 titlenavbarcontent。这些块都是基模版提供的,可在衍生模版中重新定义。
Flask-Bootstrapbase.html 模块定义的可用块。
块名 说明
doc 整个HTML文档
html_attribs 标签的属性
html 标签的内容
head 标签的内容
title 标签的内容</td> </tr> <tr> <td>metas</td> <td>一组 <meta> 标签</td> </tr> <tr> <td>styles</td> <td>层叠样式表定义</td> </tr> <tr> <td>body_attribs</td> <td><body> 标签的属性</td> </tr> <tr> <td>body</td> <td><body> 标签的内容</td> </tr> <tr> <td>navbar</td> <td>用户自定义的导航条</td> </tr> <tr> <td>content</td> <td>用户定义的页面内容</td> </tr> <tr> <td>scripts</td> <td>文档底部的 JavaScript 声明</td> </tr> </tbody> </table> <strong>【Flask扩展( Flask-Bootstrap)】</strong>注意:上表中很多块都是 <code>Flask-Bootstap</code> 自用的, 如果直接重定义可能会导致一些问题。如果程序需要向已经有内容的块中添加新内容, 必须使用 <code>Jinja2</code> 提供的 <code>super()</code> 函数。例如,如果要在衍生模版中添加新的 <code>JavaScript</code> 文件,需要这么定义:<br /> <blockquote><code>{% block scripts %} {{ super() }} <script type="text/javascript" src="https://www.it610.com/article/my-script.js"></script> {% endblock %}</code></blockquote><br /> </p> <div class="dede_pages"><ul></ul></div> <div class="pcd_ad"> <center><div class="_ahwullr0ac"></div> <script type="text/javascript"> (window.slotbydup = window.slotbydup || []).push({ id: "u6834461", container: "_ahwullr0ac", async: true }); </script> <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" > </script></center> </div> <div class="mbd_ad"> <div style=margin-top:10px;margin-bottom:10px;> <div class="_i7aftr79jl"></div> <script type="text/javascript"> (window.slotbydup = window.slotbydup || []).push({ id: "u5950612", container: "_i7aftr79jl", async: true }); </script> <!-- ½űֻһ --> <script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/cm.js" async="async" defer="defer" > </script> </div> </div> <h3>推荐阅读</h3> <ul class="post-loop post-loop-default cols-0"> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/2819387.html" title="丑小鸭的故事告诉我们什么道理?丑小鸭的故事简短版"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="丑小鸭的故事告诉我们什么道理?丑小鸭的故事简短版" src="http://img.readke.com/230724/012T45400-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/2819387.html"> <b>丑小鸭的故事告诉我们什么道理?丑小鸭的故事简短版 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/2746190.html" title="为什么眼药水的有效期是24个月,药店老板却说只能用一个月?"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="为什么眼药水的有效期是24个月,药店老板却说只能用一个月?" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/2746190.html"> <b>为什么眼药水的有效期是24个月,药店老板却说只能用一个月? </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/4012567.html" title="mysql 事务sql mysql数据库中的事件"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="mysql 事务sql mysql数据库中的事件" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/4012567.html"> <b>mysql 事务sql mysql数据库中的事件 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/3097816.html" title="新冠疫苗加强针是指第三针吗"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="新冠疫苗加强针是指第三针吗" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/3097816.html"> <b>新冠疫苗加强针是指第三针吗 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/2363751.html" title="wifi5和wifi6网速差别详细介绍"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="wifi5和wifi6网速差别详细介绍" src="http://img.readke.com/230601/01195360H-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/2363751.html"> <b>wifi5和wifi6网速差别详细介绍 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/0ZQMX52021.html" title="Go 专栏|接口 interface"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="Go 专栏|接口 interface" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/0ZQMX52021.html"> <b>Go 专栏|接口 interface </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/1457989.html" title="英孚英语每日e课 英孚英语"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="英孚英语每日e课 英孚英语" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/1457989.html"> <b>英孚英语每日e课 英孚英语 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/2651029.html" title="分手后有哪些治愈你的歌?"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="分手后有哪些治愈你的歌?" src="http://img.readke.com/230707/2044501526-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/2651029.html"> <b>分手后有哪些治愈你的歌? </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/02114461032022.html" title="《都挺好》感悟"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="《都挺好》感悟" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/02114461032022.html"> <b>《都挺好》感悟 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/978788.html" title="这里的爱心妈咪小屋,邀您有空来坐坐! 有空来坐坐"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="这里的爱心妈咪小屋,邀您有空来坐坐! 有空来坐坐" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/978788.html"> <b>这里的爱心妈咪小屋,邀您有空来坐坐! 有空来坐坐 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/3378731.html" title="犯了非法低价出让国有土地使用权应当怎样处罚"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="犯了非法低价出让国有土地使用权应当怎样处罚" src="http://img.readke.com/231107/0A5434596-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/3378731.html"> <b>犯了非法低价出让国有土地使用权应当怎样处罚 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/3203499.html" title="南昌公积金贷款额度计算公式"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="南昌公积金贷款额度计算公式" src="http://img.readke.com/231006/0H224I62-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/3203499.html"> <b>南昌公积金贷款额度计算公式 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/3005827.html" title="连云港2023秦山岛公开水域游泳邀请赛比赛项目+年龄分组"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="连云港2023秦山岛公开水域游泳邀请赛比赛项目+年龄分组" src="http://img.readke.com/230815/1IRa122-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/3005827.html"> <b>连云港2023秦山岛公开水域游泳邀请赛比赛项目+年龄分组 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/3045512.html" title="微信如何视频会议 微信怎样视频会议"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="微信如何视频会议 微信怎样视频会议" src="http://img.readke.com/230821/060600H21-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/3045512.html"> <b>微信如何视频会议 微信怎样视频会议 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/0R9111KH021.html" title="索尼n3ap属什么级别(索尼n3ap级别是多少)"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="索尼n3ap属什么级别(索尼n3ap级别是多少)" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/0R9111KH021.html"> <b>索尼n3ap属什么级别(索尼n3ap级别是多少) </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/3078950.html" title="饿了么APP账号忘记怎么办?详细解决方法"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="饿了么APP账号忘记怎么办?详细解决方法" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/3078950.html"> <b>饿了么APP账号忘记怎么办?详细解决方法 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/1151052.html" title="我来教你迅雷极速版怎么设置下载完成后关机 迅雷极速版设置下载完自动关机教程"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="我来教你迅雷极速版怎么设置下载完成后关机 迅雷极速版设置下载完自动关机教程" src="http://img.readke.com/230226/011P914N-0-lp.jpg"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/1151052.html"> <b>我来教你迅雷极速版怎么设置下载完成后关机 迅雷极速版设置下载完自动关机教程 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/1157826.html" title="乳腺疾病需要做哪些检查 乳腺有哪些检查"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="乳腺疾病需要做哪些检查 乳腺有哪些检查" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/1157826.html"> <b>乳腺疾病需要做哪些检查 乳腺有哪些检查 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/1893302.html" title="正宗烤鱼的制作方法 怎么做烤鱼"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="正宗烤鱼的制作方法 怎么做烤鱼" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/1893302.html"> <b>正宗烤鱼的制作方法 怎么做烤鱼 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/3762172.html" title="摄影大赛介绍语 摄影大赛介绍"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="摄影大赛介绍语 摄影大赛介绍" src="/images/defaultpic.gif"> </a> </div> <div class="item-content"> <h4 class="item-title"> <a href="/c/3762172.html"> <b>摄影大赛介绍语 摄影大赛介绍 </b></a></h4> <div class="item-meta"> <div class="item-meta-right"> </div> </div> </div> </li> </ul> <p><br /><ul class="post-loop post-loop-list cols-4"><li><a href="/c/020J404E2022.html" title="flask|Flask Mega-Tutorial V2.0 第13章(I18n和L10n)" target="_blank">flask|Flask Mega-Tutorial V2.0 第13章(I18n和L10n) </a></li> <li><a href="/c/12253S0562021.html" title="ModuleNotFoundError: No module named 'flask.ext'" target="_blank">ModuleNotFoundError: No module named 'flask.ext' </a></li> <li><a href="/c/12163C0102021.html" title="vs|VSCode编写简单flask文件&配置其虚拟运行环境(Windows)" target="_blank">vs|VSCode编写简单flask文件&配置其虚拟运行环境(Windows) </a></li> <li><a href="/c/1215364PH021.html" title="python|Flask jinja2模板加载静态文件" target="_blank">python|Flask jinja2模板加载静态文件 </a></li> <li><a href="/c/121235b392021.html" title="代码|python3 flask开发05 加载图片 添加css样式" target="_blank">代码|python3 flask开发05 加载图片 添加css样式 </a></li> <li><a href="/c/121135C422021.html" title="flask|Nginx+uwsgi+flask部署实战" target="_blank">flask|Nginx+uwsgi+flask部署实战 </a></li> </ul></p> <div class=entry-copyright> <p></p> </div> </div> <div class="entry-footer"> <div class="prev-next sb br mb clearfix"> <p class="post-prev fl ellipsis">上一篇:<a href='/c/1210354D42021.html'>前端工作前的准备--环境搭建</a> </p> <p class="post-next fr ellipsis">下一篇:<a href='/c/1210354D62021.html'>[资源]|[资源] 优秀博客和常用插件</a> </p> </div> </div> </div> </article> </main> <aside class="sidebar"> <div class="widget widget_post_thumb"> <h3 class="widget-title"><span>更多...</span></h3> <ul> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/092925H3R021.html" title="我最爱的少年.俊勉"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="我最爱的少年.俊勉" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/092925H3R021.html" title="我最爱的少年.俊勉">我最爱的少年.俊勉</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/09101X50R021.html" title="总有一天,你身边会有很多人结婚了有孩子了..."> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="总有一天,你身边会有很多人结婚了有孩子了..." src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/09101X50R021.html" title="总有一天,你身边会有很多人结婚了有孩子了...">总有一天,你身边会有很多人结婚了有孩子了...</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/012T30D32022.html" title="selenium增加失败截屏"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="selenium增加失败截屏" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/012T30D32022.html" title="selenium增加失败截屏">selenium增加失败截屏</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/0919225b52021.html" title="谁都不容易,只是不出声。"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="谁都不容易,只是不出声。" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/0919225b52021.html" title="谁都不容易,只是不出声。">谁都不容易,只是不出声。</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/02154521552022.html" title="vue.js组件开发"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="vue.js组件开发" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/02154521552022.html" title="vue.js组件开发">vue.js组件开发</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/0Z313Q632021.html" title="牙套日记|牙套日记 | 戴牙套两年,真的挺后悔的!"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="牙套日记|牙套日记 | 戴牙套两年,真的挺后悔的!" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/0Z313Q632021.html" title="牙套日记|牙套日记 | 戴牙套两年,真的挺后悔的!">牙套日记|牙套日记 | 戴牙套两年,真的挺后悔的!</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/092R545I2021.html" title="iTop4412|iTop4412 uboot-2019.2移植之内存控制器(七)"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="iTop4412|iTop4412 uboot-2019.2移植之内存控制器(七)" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/092R545I2021.html" title="iTop4412|iTop4412 uboot-2019.2移植之内存控制器(七)">iTop4412|iTop4412 uboot-2019.2移植之内存控制器(七)</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/0Z91O12H021.html" title="弹出视图的动画工具类"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="弹出视图的动画工具类" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/0Z91O12H021.html" title="弹出视图的动画工具类">弹出视图的动画工具类</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/09111921162021.html" title="使用git进行版本管理(不断更新中)"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="使用git进行版本管理(不断更新中)" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/09111921162021.html" title="使用git进行版本管理(不断更新中)">使用git进行版本管理(不断更新中)</a></p> </div> </li> <li class="item"> <div class="item-img"> <a class="item-img-inner" href="/c/092323IB2021.html" title="linux环境下的各种后台执行"> <img width="480" height="300" class="attachment-default size-default wp-post-image j-lazy" alt="linux环境下的各种后台执行" src="/images/defaultpic.gif"> </a></div> <div class="item-content"> <p class="item-title"><a href="/c/092323IB2021.html" title="linux环境下的各种后台执行">linux环境下的各种后台执行</a></p> </div> </li> </ul> </div> </aside> </div> </div> <footer class="footer"> <div class="container"> <div class="clearfix"> <div class="footer-col footer-col-logo"> <!--<img src="/skin/images/logo-footer.png">--></div> <div class="footer-col footer-col-copy"> <ul class="footer-nav hidden-xs"> <li class="menu-item menu-item-706"><a href="/baike/">生活百科</a></li> <li class="menu-item menu-item-706"><a href="/it/">it技术</a></li> </ul> <div class="copyright"> <p>Copyright © 2017-2022 锐客网 <a href="http://beian.miit.gov.cn/" target="_blank" rel="nofollow">京ICP备11041112号-41</a> </p> </div> </div> <div class="footer-col footer-col-sns"> <div class="footer-sns"> </div> </div> </div> </div> </footer> <div class="action action-style-0 action-color-0 action-pos-1" style="bottom:15%;"> <div class="action-item gotop j-top"> <i class="web-icon wi action-item-icon"><svg aria-hidden="true"> <use xlink:href="#wi-arrow-up-2"></use> </svg></i></div> </div> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?79e4e485d34c6fc717489eaa10b314e3"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </div> <script>var _web_js={};</script> <script src="/skin/js/index.js"></script> </body> </html>