#python #html #css #django
#python #HTML #css #django
Вопрос:
Я заменил <style>
тег на base.html
внешний файл CSS. В base.html
нем есть меню, которое ссылается на разные HTML-страницы. Когда я нажимаю на любой пункт меню, страница загружается, но не CSS.
Я попытался использовать <link>
тег homealter.html
для работы CSS, но он не работает.
base.html
<link href="../static/css/base_style.css" rel="stylesheet" type="text/css">
<div class="menu">
<table>
<tr>
{% with request.resolver_match.url_name as url_name %}
<td class="{% if url_name == 'home' %}active{% endif %}"><a href="{% url 'home' %}">Resource Wise Analysis</a></td>
<td class="{% if url_name == 'homealter' %}active{% endif %}"><a href="{% url 'homealter' %}">Land Distance Analysis</a></td>
<td class="{% if url_name == 'graphsone' %}active{% endif %}"><a href="{% url 'graphsone' %}">Water Type Based Analysis</a></td>
<td class="{% if url_name == 'graphstwo' %}active{% endif %}"><a href="{% url 'graphstwo' %}">Land Distance Analysis</a></td>
<td><a href="{% url 'logout' %}">Logout</a></td>
{% endwith %}
</tr>
</table>
</div>
{% block mains %}
{% endblock %}
</body>
homealter.html
{% extends 'base.html' %}
{% block mains %}
{% load staticfiles %}
<link href="../static/css/base_style.css" rel="stylesheet" type="text/css">
<div class="contnt">
<table>
<tr>
<th>Land Size</th>
<th>Land Distances Count</th>
<!--<th>Details</th>-->
</tr>
{% for index, row in yeye.iterrows %}
<tr>
<td><p>{{index}}</p></td>
<td>{{row.Distance}}</td>
<!--<td><a href="{% url 'yearwise' index %}">View Details</a></td>-->
{% endfor %}
</tr>
</table>
<img src="{% static 'images/im1.jpg' %}">
</div>
{% endblock %}
Раньше это работало, потому что был внутренний CSS base.html
. Мне нужно base_style.css
работать всякий раз, когда выбираются пункты меню, то есть и на других страницах.
Комментарии:
1. что вы добавляете
<link>
? Когда вы открываете страницу в браузере и используете Ctrl U, чтобы увидеть исходный код — видите ли вы эту ссылку в HTML? Скопируйте эту ссылку из HTML и откройте в новой карточке в браузере — она загружается?2. Я добавил
<link>
в div, а также вверху, я также создал тег body, но пока ничего не получалось.3. Я не вижу
<link>
<div>
. Я вижу только одну ссылку на «../static/css/base_style.css», но это не внешняя ссылка. Или, может быть, вы имеете в виду внешнюю папку на диске — браузер не имеет доступа к внешним папкам на диске по соображениям безопасности.4. В
homealter.html
,<link>
не работает, и я удалил его. Я добавлю его снова.5. чтобы решить проблему, вы должны показать код, который вы запускаете, и полные ошибки, которые вы получаете.
Ответ №1:
Вы должны иметь его только в base.html , но полный путь (не относительный):
<link href="/static/css/base_style.css"...
или лучше:
{% load static %}
<link href="{% static 'css/base_style.css' %}"...