Django внешняя проблема css файла - PullRequest
0 голосов
/ 04 марта 2011

Уже пару дней я пытаюсь настроить мой проект django для запуска моего html-шаблона с внешним css-файлом.Пока что безуспешно ....

Я установил staticfiles (я использую django 1.2.4.) И поместил «staticfiles» в INSTALLED_APPS в settings.py и добавил следующий код:

STATIC_ROOT = os.path.join (os.path.abspath (os.path.dirname ( file )), "статический")

STATIC_URL = '/ static/ '

Мой css-файл находится в /static/css/stylesheet.css

Мой html-шаблон имеет ссылку

link rel= "stylesheet" type = "text / css" href = "{{STATIC_URL}} css / stylesheet"

После запуска сервера страница загружается очень хорошо.Однако django не может найти мою таблицу стилей ...

Что я здесь не так делаю?

Ответы [ 3 ]

1 голос
/ 05 марта 2011

Статический корень и URL фактически не содержат файлы.Упомянутая ранее опция статического обслуживания (в urls.py) является хорошим вариантом для разработки и обучения, но если вы переходите на сервер развертывания, вам следует использовать статический хостинг, предоставляемый вашим веб-сервером.

Способ работы статических папок заключается в добавлении местоположений путей для каждого приложения, проекта и т. Д. В параметр статических каталогов в settings.py.Затем, когда вы запускаете команду "django-admin.py collectstatic", django перетягивает все ваши каталоги в ваш статический корень.После первого запуска команды collectstatic будут скопированы только те файлы, которые были изменены.Это объединяет несколько статических каталогов в одно общее место.

Статические файлы документации

0 голосов
/ 05 марта 2011

Я бы порекомендовал вам просто использовать экземпляр django.views.static.serve, например, в файле url.py:

(r'^(?P<path>.*)$', 'django.views.static.serve',{'document_root': '/path/to/css/'}),
0 голосов
/ 04 марта 2011

Вам необходимо передать RequestContext в представление, чтобы оно проходило через CONTEXT_PROCESSORS статических файлов (включая переменную STATIC_URL).

from django.template.context import RequestContext

context = {'my_other_context': 1}
render_to_response('your_template.html',
                   context_instance=RequestContext(request, context))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...