在python Django应用程序中使用font-awesome

时间:2018-07-31 04:15:02

标签: python django font-awesome

我正在尝试在python django应用程序中加载字体超赞图标的本地副本。

我的模板base.html包含:

{% load static %}
<!doctype html>
<html lang="en">
<head>   
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    <link rel="stylesheet" href="{% static 'appointments/css/all.css' %}" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
    <title>{% block title %}Hello, world!{% endblock %}</title>
</head>

改编自https://docs.djangoproject.com/en/2.0/howto/static-files/

我的应用程序的目录结构是:

joel@hp:~/myappointments$ tree
.
├── appointments
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   ├── __init__.py
│   ├── models.py
│   ├── static
│   │   └── appointments
│   │       ├── css
│   │       │   ├── all.css
│   │       └── webfonts
│   │           ├── fa-brands-400.eot
│   │           ├── fa-brands-400.svg
│   │           ├── fa-brands-400.ttf
│   │           ├── fa-brands-400.woff
│   │           ├── fa-brands-400.woff2
│   │           ├── fa-regular-400.eot
│   │           ├── fa-regular-400.svg
│   │           ├── fa-regular-400.ttf
│   │           ├── fa-regular-400.woff
│   │           ├── fa-regular-400.woff2
│   │           ├── fa-solid-900.eot
│   │           ├── fa-solid-900.svg
│   │           ├── fa-solid-900.ttf
│   │           ├── fa-solid-900.woff
│   │           └── fa-solid-900.woff2
│   ├── templates
│   │   └── appointments
│   │       ├── base.html
│   │       ├── createappointment.html
│   │       ├── doctor.html
│   │       ├── doctors.html
│   │       ├── home.html
│   │       ├── index.html
│   │       ├── navbar.html
│   │       ├── patient.html
│   │       └── patients.html
│   ├── tests.py
│   ├── urls.py
│   ├── using shell.txt
│   └── views.py
├── appointments.ipynb
├── db.sqlite3
├── manage.py
├── myappointments
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py

但是,这些图标未提供。如果我使用以下命令,它将起作用:

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">

2 个答案:

答案 0 :(得分:0)

我有同样的问题。 Django无法找到webfonts目录-当我运行python manage.py runserver时,我可以看到404对超棒字体文件的响应。

all.css文件的底部,您应该会看到一些src: url(../webfonts/..)属性。将它们更改为src: url("/static/webfonts/..)runserver出现时,您应该看到200而不是404的响应,表明已找到您的文件。

如果仍然存在错误,请检查控制台。右键单击图标(应该在该位置),单击“检查”,单击“控制台”(在Chrome浏览器中;或与您的浏览器等效的任何浏览器)

答案 1 :(得分:0)

我只是有这个问题, 想发表评论,说有人在pypi上发布了: https://pypi.org/project/django-static-fontawesome/ 具有良好“ URL”链接的“干净” CSS,

没有荣格,我永远也不会想出为什么它不起作用