Я использую django 1.3, python 2.7 на Windows XP
Я пытаюсь настроить CSS в статической папке для моего приложения django.
Шаблон выглядит так:
<html>
<head>
<title>css demo</title>
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/my.css" />
</head>
<body>
Сгенерированный HTML выглядит следующим образом:
<html>
<head>
<title>css demo</title>
<link rel="stylesheet" type="text/css" href="http://localhost/static/css/my.css" />
</head>
...
Итак, похоже, у меня все настроено, чтобы указать, где статические файлы находятся в шаблоне, а затем в сгенерированномhtml.
Но в 'http://localhost/static/css/my.css'. есть примечание: как мне его там получить?
Я запустил коллистатик так:
C:\root\workspace\mywebapp\src\mywebapp>c:\Python27\python.exe manage.py collectstatic
You have requested to collect static files at the destination location as specified in your settings file.
This will overwrite existing files.
Are you sure you want to do this?
Type 'yes' to continue, or 'no' to cancel: yes
Copying 'c:\root\workspace\mywebapp\src\mywebapp\css_demo\static\css\my.css'
1 static file copied to 'C:/root/workspace/mywebapp/src/mywebapp/static/'.
Итак, ятеперь у меня есть my.css в c: \ root \ workspace \ mywebapp \ src \ mywebapp \ css_demo \ static \ css \ my.css
В моих настройках у меня есть:
STATIC_ROOT = 'C:/root/workspace/mywebapp/src/mywebapp/static/'
STATIC_URL = 'http://localhost/static/'
и в моем url.py у меня есть:
from django.conf.urls.defaults import patterns, include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = patterns('',
(r'^mywebapp/', include('mywebapp.css_demo.urls')),
)
urlpatterns += staticfiles_urlpatterns()
Так что, если я правильно понимаю, мой css по адресу:
c:\root\workspace\mywebapp\src\mywebapp\css_demo\static\css\my.css
не должен быть доступен по адресу:
http://localhost/static/css/my.css
Но вместо этого я вижу:
Page not found (404)
Request Method: GET
Request URL: http://localhost/static/css/my.css
Using the URLconf defined in mywebapp.urls, Django tried these URL patterns, in this order:
^mywebapp/
The current URL, static/css/my.css, didn't match any of these.
Я также пытался:
http://localhost/mywebapp/static/css/my.css
http://localhost/mywebapp/css_demo/static/css/my.css
Я пропустил здесь шаг?Документация по этому вопросу немного сбивает с толку.http://docs.djangoproject.com/en/1.3/howto/static-files/ http://docs.djangoproject.com/en/1.3/ref/contrib/staticfiles/
Спасибо!