Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 30, 2007 10:58:56

alafin
Root
От: Киев, Украина
Зарегистрирован: 2006-04-06
Сообщения: 756
Репутация: +  3  -
Профиль   Отправить e-mail  

Django и CSS

Как заставить работать CSS в шаблоне?
Шаблон находится в /root/pythonua/templates
Сам css: /root/pythonua/templates/images/Refresh.css
В settings.py прописал:

TEMPLATE_DIRS = (
# Put strings here, like “/home/html/django_templates”.
# Always use forward slashes, even on Windows.
‘/root/pythonua/templates’,
)

Сам шаблон имеет примерно такой вид(начало):

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd“>

<html xmlns=”http://www.w3.org/1999/xhtml“ xml:lang=”en“ lang=”en“>
<head>

<meta name=”Description“ content=”Information architecture, Web Design, Web Standards.“ />
<meta name=”Keywords“ content=”your, keywords“ />
<link rel=”SHORTCUT ICON“ href=”favicon.ico“/>
<meta http-equiv=”Content-Type“ content=”text/html; charset=utf-8“ />
<meta name=”Distribution“ content=”Global“ />
<meta name=”Author“ content=”Alexey Afinogenov - alafin@ukr.net“ />
<meta name=”Robots“ content=”index,follow“ />

<link rel=”stylesheet“ href=”images/Refresh.css“ type=”text/css“ />

<title>Портал Python-программистов</title>


</head>

<body>
<!– wrap starts here –>
<div id=”wrap“>
<!–header –>
<div id=”header“>
<h1 id=”logo-text“> *Python<span class=”gray“>UA*</span></h1>
<h2 id=”slogan“>Я использую Питон когда могу, и Си – когда должен.
<br/>
<font color=”white“>Эрик Реймонд</font></h2>

<form class=”search“ method=”post“ action=”#“>
<p>
<input class=”textbox“ type=”text“ name=”search_query“ value=”“ />
<input class=”button“ type=”submit“ name=”Submit“ value=”Search" />
</p>
</form>
</div>



Офлайн

#2 Янв. 30, 2007 11:33:29

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Django и CSS

Я так понимаю, css не меняется (т.е. не является шаблоном в Django). Т.е. является статичным контентом (равно как и картинки). Django не работает со статикой, его должен отдавать отдельный сервер. Если в devel-режиме, то пропиши в urls:

from django.conf import settings
urlpatterns = patterns('',
# …
(r'^images/(?P<path>.*)$', ‘django.views.static.serve’, {'document_root': settings.MEDIA_ROOT}),
)


Картинки и CSS ложешь в папку, указанную в настройках в MEDIA_ROOT.

подробности см. в документации django



Офлайн

#3 Янв. 30, 2007 11:34:52

alafin
Root
От: Киев, Украина
Зарегистрирован: 2006-04-06
Сообщения: 756
Репутация: +  3  -
Профиль   Отправить e-mail  

Django и CSS

j2a
спасибо.



Офлайн

#4 Янв. 31, 2007 19:01:41

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Django и CSS

ну поставь ADMIN_MEDIA_PREFIX='/admin_media/', в чем проблема то? Только надо не забывать в production вместе со статикой для сайта отдавать и статику для админки, с указанными префиксом.

В итоге, твой совет трансформируется в “используйте разные префиксы для MEDIA_PREFIX и ADMIN_MEDIA_PREFIX”



Отредактировано (Янв. 31, 2007 19:02:31)

Офлайн

#5 Фев. 2, 2007 14:24:09

alafin
Root
От: Киев, Украина
Зарегистрирован: 2006-04-06
Сообщения: 756
Репутация: +  3  -
Профиль   Отправить e-mail  

Django и CSS

Сталкнулся с еще одной проблемой: при использовании url-а виде http://localhost:8000/ вся статика видна нормально, но если использовать ту же самую страницу только вида http://localhost:8000/ru то статика не видна если не изменить, к примеру,
<link rel=“stylesheet” href=“images/Refresh.css” type=“text/css” />
на
<link rel=“stylesheet” href=“../images/Refresh.css” type=“text/css” />
Что в данном случае делать? Создавать два шаблона для типичных задач?



Офлайн

#6 Фев. 2, 2007 14:48:07

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Django и CSS

Может просто прописывать абсолютные пути?
<link rel=“stylesheet” href=“/images/Refresh.css” type=“text/css” />



Офлайн

#7 Фев. 2, 2007 14:55:26

alafin
Root
От: Киев, Украина
Зарегистрирован: 2006-04-06
Сообщения: 756
Репутация: +  3  -
Профиль   Отправить e-mail  

Django и CSS

slivlen
работает! спасибо!
P.S. Вот так всегда, век живи - век учись



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version