При разборе фреймворка django неизбежно возникает вопрос о том, как добавить в проект статические файлы.
Посмотрим как это делается на примере CSS.
Приступим.
Создадим проект:
django-admin startproject app
Войдём в него и создадим папку для шаблонам и для медиа файлов (css, js, img… )
На linux:
mkdir templates mkdir media
В папке media создадим папки для css и изображений:
mkdir img mkdir css
Теперь создадим шаблон index.html в папке templates:
<html> <head> <link rel="stylesheet" href="/media/css/style.css" type="text/css" /> </head> <body> <h1>Если этот текст КРАСНЫЙ, то CSS загружен успешно.</h1> <img src="/media/img/01.jpg" /> </body> </html>
В папке css создадим таблицу стилей style.css :
h1 {color:red;}
В папку img положите файл 01.jpg.
Теперь настроим всю эту «штуку»)))
Идём в settings.py
указываем путь к шаблону:
import os TEMPLATE_DIRS = ( os.path.join(os.path.dirname(__file__),'app/templates').replace('\\','/'), )
Приводим urls.py к такому виду:
from django.conf.urls.defaults import patterns, include, url from django.conf import settings urlpatterns = patterns( (r'^$', 'app.views.index'), (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root':'./media/'}), )
views.py:
from django.shortcuts import render_to_response def index(request): return render_to_response('index.html', )
Вот и всё.
Теперь запускаем сервер:
python manage.py runserver
И смотрим результат.
Текст должен быть красным, а ниже должно появиться изображение.