#django #django-templates
#django #django-templates
Вопрос:
Хорошо, у меня есть мой базовый шаблон, и я расширил его в трех других шаблонах, и он работает только в одном из них. Я нахожу это действительно странным. Я не уверен, какой код будет уместен здесь, поэтому, пожалуйста, прокомментируйте, какой код я должен опубликовать.
База:
<link rel="stylesheet" type="text/css" href="static/default.css" media="screen"/>
<title>{% block title %}Marijus Merkevicius{% endblock %}</title>
<div class="holder">{% block content %}{% endblock %}
индекс (css работает для этого шаблона):
{% extends "base.html" %}
{% block title %}Marijus Merkevicius{% endblock %}
{% block content %}
{% for entry in entries %}
<h1><a href="{{ entry.category.slug }}/{{ entry.slug }}/"</h1>
<p>{{ entry.text|safe|escape }}</p>
{% endfor %}
{% endblock %}
подробно (css не работает):
{% extends "base.html" %}
{% block title %}{{ entry.title }} | Marijus Merkevicius{% endblock %}
{% block content %}
<h1>{{ entry.title }}</h1>
<p>{{ entry.text|safe|escape }}</p>
{% endblock %}
Комментарии:
1. Покажите базовый шаблон и шаблон, в котором он работает, и шаблон, в котором он не работает. Однако не публикуйте все целиком — сведите это к минимальному примеру, в котором есть проблема.
2. Может быть, либо добавить css, либо быть очень конкретным в том, что вы подразумеваете под «не работает»?
Ответ №1:
<link rel="stylesheet" type="text/css" href="static/default.css" media="screen"/>
Вы используете относительную ссылку. Это означает, что в зависимости от того, по какому URL отображается эта страница, URL для вашего CSS тоже меняется.
Поскольку вы используете шаблон индекса и шаблон сведений, я предполагаю, что у обоих разные корневые URL (типичным шаблоном является то, что страница сведений является «подкаталогом» индекса).
Вместо этого укажите непосредственно на ваш файл css: /static/default.css
если ваш файл css находится в example.com/static/default.css