Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 15, 2010 17:27:05

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает css на странице логина

Очень странно, что css не работает на странице логина. Не могу разобраться в чём причина.
В urls.py проекта:

from django.conf.urls.defaults import *
from django.conf import settings
from django.contrib.auth.views import login, logout

urlpatterns = patterns('',
(r'^accounts/login/$', login),
(r'^accounts/logout/$', logout),
url(r'', include('freeparse.web.urls')),
)

if settings.DEBUG:
urlpatterns += patterns('',
(r'^css/(?P<path>.*)$', 'django.views.static.serve', {'document_root': "%s/css/" % settings.MEDIA_ROOT}),
(r'^images/(?P<path>.*)$', 'django.views.static.serve', {'document_root': "%s/pics/" % settings.MEDIA_ROOT}),
(r'^js/(?P<path>.*)$', 'django.views.static.serve', {'document_root': "%s/js/" % settings.MEDIA_ROOT}),
)
Шаблоны находятся в папке templates. templates содержит 2 подпапки: registration (здесь шаблон для логина, наследуемый от base.html в templates) и web (здесь все шаблоны, относящиеся к приложению web).
Кусок кода из templates/base.html
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
{% block head %}{% endblock %}
</head>
Кусок из templates/web/home.html (главная страница):
{% extends "base.html" %}
{% block head %}
<title>Главная страница</title>
</script>
{% endblock %}
Кусок из templates/registration/login.html:
{% extends "base.html" %}

{% block head %}
<title>Вход в систему</title>

{% endblock %}
Помогите разобраться, в чём причина.



Офлайн

#2 Янв. 15, 2010 18:57:13

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Не работает css на странице логина

А настройки MEDIA_URL в settings.py какие?

Офлайн

#3 Янв. 15, 2010 21:40:11

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает css на странице логина

Ferroman

MEDIA_ROOT = rel('sitemedia')
MEDIA_URL = 'freeparse.web/smedia/'
Создала другие страницы, наследуемые от base.html. css также не работает( Хотя на главной странице работает. Это страница home.html, наследуемая от base.html.



Отредактировано (Янв. 15, 2010 21:47:10)

Офлайн

#4 Янв. 16, 2010 11:39:51

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Не работает css на странице логина

Тогда почему переменной {{media}} нет в путях шаблонов?

Офлайн

#5 Янв. 16, 2010 20:48:36

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает css на странице логина

Ferroman, Она должна содержать путь к папке sitemedia? Наследуемые шаблоны абсолютно равноправны. Только на одном подключается css и картинки, а на другом нет. Почему тогда в одном всё работает, а в другом - нет?



Офлайн

#6 Янв. 16, 2010 21:17:20

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Не работает css на странице логина

Потому что вы задали относительно путь к статическим файлам. Для главной страницы (домен) он оказался верным, но для других страниц, с большей “вложенностью” - нет, поскольку браузер тянет статические файлы ориентируясь на неверные относительные пути. От этого спасает тег медиа, который подставляет первую часть пути, сохраняя правильный путь к файлам с любой страницы.

Отредактировано (Янв. 16, 2010 21:18:05)

Офлайн

#7 Янв. 16, 2010 21:19:29

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает css на странице логина

Ferroman, заметила одну закономерность. css подключается только в шаблоне, обрабатываемым представлением, которое вызывается в контроллере url(r'^$', ‘home’, name='index')



Офлайн

#8 Янв. 16, 2010 21:21:05

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Не работает css на странице логина

И что? Я только что рассказал почему так происходит.

Отредактировано (Янв. 16, 2010 21:22:02)

Офлайн

#9 Янв. 16, 2010 21:39:32

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает css на странице логина

Ferroman, помогло, спасибо :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version