Нужно ли дважды использовать «load static» для общего макета и заголовка в Django? - PullRequest
0 голосов
/ 02 июня 2018

Я нахожусь на проекте в Джанго, и проблема в этом.Мой сайт имеет общий макет, такой как «layout.html», который включает в себя несколько статических файлов, ссылки в и «header.html», включая навигатор, «footer.html», включая некоторые ссылки в.Но в обоих файлах «layout.html» и «header.html» используются статические файлы, поэтому я думаю, что одна команда {% load static%} в первой строке в «layout.html» может повлиять как на «layout.html», так и «header.html».«потому что« layout.html »включает в себя« header.html »!Но это не работает, это работает только когда {% load static%} в обоих файлах.Может быть, мое объяснение трудно понять, поэтому я напишу свой код очень скоро.

'layout.html'

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<link href="{% static 'onepage-scroll.css' %}" rel="stylesheet" type="text/css">
</head>
    <body>
        {% include 'header.html' %}
        {% block content %}
        {% endblock %}
        {% include 'footer.html' %}
    </body>
</html>

'header.html'

{% load static %}
<nav id="navi">
    <h3><a href="{% url 'main:home' %}"><img src="{% static 'logo.jpg' %}"></a></h3>
</nav>

Я думаю, что это не очень хорошая реализация, поскольку загрузка статических файлов происходит 2 раза,Есть ли другой способ решить эту проблему?

1 Ответ

0 голосов
/ 02 июня 2018

Я думаю, вы можете неправильно понимать, что делает {% load static %}.Он просто дает вашему шаблону доступ к связанному тегу {% static %}.Это не приводит к перезагрузке самих статических файлов или значительному бремени с точки зрения переноса дополнительного кода.

Вы используете тег в точности так, как задумано.Если вам нужны статические файлы, вам нужно загрузить теги, чтобы сделать это с помощью.

...