Font-awesome 在 Flask 中不起作用?

问题描述 投票:0回答:6

我正在尝试使用 font-awesome 在我的网页中显示小图标。 我的项目是基于Flask框架的。

这是我的代码:

<head>
<!-- use bootstrap -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="{{url_for('static', filename='custom.css')}}" type="text/css"/>
<link rel="stylesheet" href="{{url_for('static', filename = 'css/font-awesome.min.css')}}" type="text/css">

<a href="https://github.com/penguin-penpen" target="_blank"><i class="icon-github"></i> </a>

但是,图标没有出现。 我的静态文件结构是:

├── static
│   ├── css
│   ├── fonts
│   ├── images
│   ├── js
│   ├── less
│   └── scss
└── templates

我也测试过,在浏览器中css文件可以成功加载,我的操作系统是OSX。

python css flask
6个回答
2
投票

我想有两个问题:

  1. 如果你想使用github图标,你应该使用:

     <i class="fa fa-github"></i>
    

您可以在这里查看 font-awesome 上的 github 图标:fa-github

  1. 看起来你正在使用font-awesome css,但是,你应该注意,只有一个css文件是不够的,你应该将整个目录复制到
    static
    文件夹,如文档所述:
  1. 将整个 font-awesome 目录复制到您的项目中。

  2. 在 html 的

    <head>
    中,引用 font-awesome.min.css 的位置。

您可以在这里找到它:入门 - 简单:默认 CSS


一个最小的例子:

app.py

from flask import Flask, render_template


app = Flask(__name__)


@app.route('/')
def index():
    return render_template('index.html')


if __name__ == '__main__':
    app.run(debug=True)

templates/index.html

<!doctype html>
<html>
  <head>
    <title>Hello</title>
    <link rel='stylesheet' href="{{ url_for('static', filename='font-awesome/css/font-awesome.min.css')}}">
  </head>
  <body>
    <p><i class='fa fa-github'></i> Hello github</p>
  <body>
</html>

static
文件夹:

static
  |_ font-awesome
          |_ css
          |     |_  font-awesome.min.css
          |     |_...
          |...

或者您可以只使用 CDN,这是使用 font-awesome 最简单的方法。


1
投票

尝试使用:

<i class="fa fa-github"></i>

1
投票

这些是 font-awesome 的图标: Font Awesome 图标

将 HTML 更改为:

<a href="https://github.com/penguin-penpen" target="_blank"><i class="fa fa-github"></i> </a>

0
投票

你必须编辑你的 all.css (awesomefont) 改变
网址(../bla/bla) 到 网址({{url_for(....)}} 并且不要忘记包含很棒的字体 js(all.js)


0
投票

我遇到了同样的问题,我找到的唯一解决方案是安装 Flask-FontAwesome 软件包。


0
投票

你应该使用 Flask-FontAwesome python 包。

pip install Flask-FontAwesome

应用于您的示例:

app.py

from flask import Flask, render_template
from flask_fontawesome import FontAwesome

app = Flask(__name__)
FontAwesome(app)

@app.route('/')
def index():
    return render_template('index.html')

if __name__ == '__main__':
    app.run(debug=True)

templates/index.html

<!doctype html>
<html>
  <head>
    <title>Hello</title>
    {{ fontawesome_css() }}
  </head>
  <body>
    <p><i class='fa fa-github'></i> Hello github</p>
    {{ fontawesome_js() }}
  <body>
</html>

注意到:

此软件包使用 FontAwesome 版本 4。

要使用最新版本的 FontAnsome,您必须更新 Flask-FontAwesome 包的

static
目录的内容(使用
pip show Flask-FontAwesome
查找其位置),将其内容替换为最新版本,参见 下载 Font Awesome

© www.soinside.com 2019 - 2024. All rights reserved.