Форум сайта python.su
Как заставить работать 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>
Офлайн
Я так понимаю, 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
Офлайн
j2a
спасибо.
Офлайн
ну поставь ADMIN_MEDIA_PREFIX='/admin_media/', в чем проблема то? Только надо не забывать в production вместе со статикой для сайта отдавать и статику для админки, с указанными префиксом.
В итоге, твой совет трансформируется в “используйте разные префиксы для MEDIA_PREFIX и ADMIN_MEDIA_PREFIX”
Отредактировано (Янв. 31, 2007 19:02:31)
Офлайн
Сталкнулся с еще одной проблемой: при использовании 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” />
Что в данном случае делать? Создавать два шаблона для типичных задач?
Офлайн
Может просто прописывать абсолютные пути?
<link rel=“stylesheet” href=“/images/Refresh.css” type=“text/css” />
Офлайн
slivlen
работает! спасибо!
P.S. Вот так всегда, век живи - век учись
Офлайн