Форум сайта python.su
5
Добрый день.
Я только начал изучать django, и столкнулся с проблемой подключения css файлов к шаблону. Делал по документации https://docs.djangoproject.com/en/dev/howto/static-files/#howto-static-files но почему то не работает. Проект запускаю из под сревера разработки django. В проекте есть единственное приложение guest_book с каталогами static и template с единственным шаблоном и css файлом. Если кому не трудно посмотрите что не так http://dl.dropbox.com/u/9133112/GuestBook.zip
Заранее спасибо.
Офлайн
1
Офлайн
0
у тебя в settings.py не определены переменные MEDIA_ROOT и MEDIA_URL.
Из вашего файла настроек видно, что путь к файлу sqlite лежит вот тут
'NAME': ‘D:\\PROJECTS\\PYTHON\\my_guest_book\\GuestBook\\sqlite.db’
проект соответственно лежит тут ‘D:\\PROJECTS\\PYTHON\\my_guest_book\\GuestBook\\’
еще положите папки static и template выше уровнем. они обычно лежать в проекте, а не в приложении.
поставь:
MEDIA_ROOT = ‘\\PROJECTS\\PYTHON\\my_guest_book\\GuestBook\\static\\’
обычно:
MEDIA_URL = 'http://127.0.0.1/static/'
у вас странное имя файла шаблона “base.djhtml”
В шаблоне поменяй строчку
<link rel=“stylesheet” type=“text/css” href=“{{ STATIC_URL }}base.css”>
на
<link rel=“stylesheet” type=“text/css” href=“{{ MEDIA_URL }}base.css”>
Офлайн
5
maksaimerЯ ориентировался на следующую фразу из документации (по ссылке из первого сообщения):
еще положите папки static и template выше уровнем. они обычно лежать в проекте, а не в приложении.
Basic usage
1. Put your static files somewhere that staticfiles will find them.
By default, this means within static/ subdirectories of apps in your INSTALLED_APPS.
maksaimerИспользую для работы Aptana studio, её встроенный редактор django шаблонов понимает их только с таким расширением. Насколько понял из документации самому django всё равно как называется файл, или я не прав ?
у вас странное имя файла шаблона “base.djhtml”
maksaimerВобщем заработало и без этого. Я не сразу заметил следующую фразу в документации:
поставь:
MEDIA_ROOT = ‘\\PROJECTS\\PYTHON\\my_guest_book\\GuestBook\\static\\’
обычно:
MEDIA_URL = 'http://127.0.0.1/static/'
If {{ STATIC_URL }} isn't working in your template, you're probably not using RequestContext when rendering the template. {% load static %}
<link rel="stylesheet" type="text/css" href="{% get_static_prefix %}css/guest_book.css">http://127.0.0.1/guest_book/static/css/guest_book.css
Офлайн
0
По поводу static в шаблонах, я делаю вот так
return render_to_response(
'catalog/catalog-index.html',
context,
context_instance=RequestContext(request)
)
Офлайн
1
правильнее делать так
будут вопросы, спрашивай.
Офлайн
5
apologize828 спасибо, буду разбираться.
Офлайн
5
apologize828 скажите а зачем класс администрирования модели выносить в отдельный файл admin.py? Так же не могу найти откуда он вызывается в вашем проекте или он использует системой django неявно ? Если так то где об этом можно почитать ?
Офлайн
1
скажите а зачем класс администрирования модели выносить в отдельный файл admin.py?так принято в django.
Так же не могу найти откуда он вызывается в вашем проекте или он использует системой django неявно? Если так то где об этом можно почитать ?urls.py ->admin.autodiscover().
Отредактировано (Сен. 24, 2011 09:08:15)
Офлайн
5
Спасибо, вроде разобрался.
Есть ещё вопрос:
после очередных экспериментов с проектом что то произошло (непонятно где) и во всех проектах в том числе и в вашем отвалился интерфейс администратора (выводится голый html без оформления) при этом в консоль идёт такой вывод:
Даже если создать новый пустой проект и там включить админку то всё тоже самое, хотя раньше рботало. Пробовал переустанавливать django, не помогает. :( С этим можно что то сделать ?
Офлайн