我已经创建了启动插件安装的水瓶应用程序。但是,像在引导页https://getbootstrap.com/docs/4.0/components/tooltips/中显示的工具提示不起作用。我尝试了我在互联网上找到的“一切”,但仍然没有运气。
我使用Python3.7和docker来构建应用程序。安装了以下插件:
Flask==1.0.3
flask-restful==0.3.7
Flask-Bootstrap4==4.0.2
flask-nav==0.6在我的应用程序中,我使用的是现在的水瓶和水瓶-Bootstrap4。
我使用模板加载子页面。我的布局如下(layout.html):
<!doctype html>
<html lang="en">
<head>
{% extends "bootstrap/base.html" %}
<link rel="stylesheet" href="static/azcss.css"/>
</head>
<body>
{% block navbar %}
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand">Azure</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="{{ url_for('home') }}">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ url_for('resource_manager') }}">Resource Manager</a>
</li>
</ul>
</div>
</nav>
{% endblock navbar %}
{% block content %}
{% endblock content%}
</body>
</html>
在{%块内容%}中,我正在加载主页(home.html):
{% extends "layout.html" %}
{% block content %}
<div class="container-fluid">
<p>Home</p>
<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="Tooltip on left">Tooltip on left</button>
<a href="#" rel="tooltip" title="Title Here"> I am Here</a>
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="Tooltip on top">
Tooltip on top
</button>
<script>
$(function () {
$('[data-toggle="tooltip"]').tooltip()
})
</script>
{% endblock content %}
我的酒瓶应用程序看起来如下:
from flask import Flask
from flask import render_template, url_for, request
from flask_bootstrap import Bootstrap
from utils.azfunc.resource_groups_mgmt import list_all_resource_group_name, create_resource_group
app = Flask(__name__)
Bootstrap(app)
@app.route('/')
def base() -> 'html':
return render_template('layout.html')
@app.route('/home')
def home() -> 'html':
return render_template('home.html')
@app.route('/resource_manager')
def resource_manager() -> str:
return render_template('resource_manager.html')
@app.route('/list_res_groups')
def list_res_grps() -> 'html':
return render_template('list_res_groups.html', res_grps=list_all_resource_group_name())
@app.route('/create_res_group_form', methods=['GET', 'POST'])
def create_res_grp_form() -> 'html':
return render_template('create_res_group_form.html')
@app.route('/create_res_group', methods=['GET', 'POST'])
def create_res_grp() -> 'html':
res_group = request.form['azgroup']
region = request.form['azregion']
resource_group_created = create_resource_group(res_group, region)
return render_template('create_res_group.html', result=resource_group_created)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80, debug=True)结果:
工具提示在2,3秒后显示,但它看起来不像是引导工具提示:我的应用程序
根据引导文档,它应该如下所示:引导页
web浏览器开发人员模式下的代码显示脚本应该可以工作:开发模式代码
,你能帮我解决这个问题吗?
发布于 2019-07-22 17:49:46
我通过在%content%部分添加脚本来解决这个问题。
谢谢dylanj.nz的提示,它帮助我找到了解决方案。
现在我的layout.html看起来是这样的:
<!doctype html>
<html lang="en">
<head>
{% extends "bootstrap/base.html" %}
<link rel="stylesheet" href="static/azcss.css"/>
</head>
<body>
{% block navbar %}
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="{{ url_for('base') }}">Azure</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="{{ url_for('home') }}">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ url_for('resource_manager') }}">Resource Manager</a>
</li>
</ul>
</div>
</nav>
{% endblock navbar %}
{% block content %}
{% block scripts %}
{{ super() }}
<script>
$(function () {
$('[data-toggle="tooltip"]').tooltip()
})
</script>
{% endblock scripts %}
{% endblock content %}
</body>
</html>
发布于 2019-07-21 22:51:38
您看到的是默认的html工具提示,而不是引导工具。这可能是您的脚本加载的顺序,尝试移动
<script>
$(function () {
$('[data-toggle="tooltip"]').tooltip()
})
</script>在jquery/引导脚本加载之后/下面(我猜这将在您的layout.html中)
发布于 2019-07-22 14:07:12
@Dylanj感谢你的回答,我找到了另一种方法让它发挥作用。
我想我可以在本地从Bootstrap包从位置加载css:
root@9949973a7f22:/usr/local/lib/python3.7/site-packages/flask_bootstrap/static/css# ls -al
total 1696
drwxr-sr-x 2 root staff 4096 Jul 17 16:16 .
drwxr-sr-x 6 root staff 4096 Jul 17 16:16 ..
-rw-r--r-- 1 root staff 43852 Jul 17 16:16 bootstrap-grid.css
-rw-r--r-- 1 root staff 95910 Jul 17 16:16 bootstrap-grid.css.map
-rw-r--r-- 1 root staff 34243 Jul 17 16:16 bootstrap-grid.min.css
-rw-r--r-- 1 root staff 76209 Jul 17 16:16 bootstrap-grid.min.css.map
-rw-r--r-- 1 root staff 4798 Jul 17 16:16 bootstrap-reboot.css
-rw-r--r-- 1 root staff 57721 Jul 17 16:16 bootstrap-reboot.css.map
-rw-r--r-- 1 root staff 3936 Jul 17 16:16 bootstrap-reboot.min.css
-rw-r--r-- 1 root staff 25881 Jul 17 16:16 bootstrap-reboot.min.css.map
-rw-r--r-- 1 root staff 178152 Jul 17 16:16 bootstrap.css
-rw-r--r-- 1 root staff 411645 Jul 17 16:16 bootstrap.css.map
-rw-r--r-- 1 root staff 144877 Jul 17 16:16 bootstrap.min.css
-rw-r--r-- 1 root staff 551641 Jul 17 16:16 bootstrap.min.css.map
-rw-r--r-- 1 root staff 35359 Jul 17 16:16 fontawesome-all.min.css
-rw-r--r-- 1 root staff 33994 Jul 17 16:16 fontawesome.min.css但是如何在bootstrap.min.css中导入bootstrap.min.css和fontawesall.min.css呢?
https://stackoverflow.com/questions/57133681
复制相似问题