我在Django

时间:2015-05-09 12:51:00

标签: html css django font-face

我将.ttf文件和html文件放在同一个文件夹中。在html中:

<style type="text/css">
@font-face { 
font-family: 'fontNameRegular'; 
src:local('fontName Regular'),
    local('fontName'), 
    url('Qarmic.ttf') format('truetype');
} 
</style>
<style>
#ads{font-family:'fontNameRegular';font-size:60px;font-weight:normal;}
#ads2{font-size:10px;font-weight:normal;}
</style>


<h2>System Font</h2>
 <div id="ads2">
     aaa
</div>

<h2>My Font</h2>
 <div id="ads">
     aaa
</div>

当我单独打开html文件时,它可以正常工作。 但是,当我使用django来调用html文件时。

def view_preview(request):
    return render_to_response('preview.html')

字体不会显示。我真的需要帮助。谢谢。

2 个答案:

答案 0 :(得分:2)

您需要将字体文件放在STATICFILES_DIRS中。 Django无法提供相对于HTML文件的字体。相反,你想要移动它并使用:

{% load staticfiles %}

<style type="text/css">
    @font-face { 
    font-family: 'fontNameRegular'; 
    src:local('fontName Regular'),
        local('fontName'), 
        url({% static 'path/to/Qarmic.ttf' %}) format('truetype');
    } 
</style>

答案 1 :(得分:0)

我和Django 1.8有同样的问题,但我的问题是 font-family 的名称不应该是qutoes !!我真的不知道为什么! !但删除引号,解决了我的问题,这是我在html文件中的工作方式:

{% load staticfiles %}

<style>
      @font-face {
        font-family: Bnazanin;
        src: url("{% static 'font/Bnazanin.ttf' %}" ) format("truetype");
      }
</style>

我在添加此类时使用了这种字体,因此将此类添加到标记会导致其字体发生变化!希望这能帮到你!

<style type='text/css'>
    .myfont{ /* my font class */
        font-family:'Bnazanin';
    }
</style>