2015-05-09 2 views
3

Я поместил файл .ttf и html-файл в ту же папку. В html:Шрифт не отображается, когда я его использую в Django

<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') 

Шрифт не отображается. Мне действительно нужна помощь. Спасибо.

ответ

1

Вам необходимо разместить файл шрифта в одном из ваших 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, но моя проблема была имя семейства шрифтов не должно быть в 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>