Обслуживание статических файлов django в среде разработки - PullRequest
0 голосов
/ 23 декабря 2011

Я хочу использовать статические файлы для загрузки моего css с помощью команды runserver.Проблема в том, что я попробовал все решение, которое нашел здесь, на stackoverflow, а также в django docs, но оно не работает вообще ... Я не знаю, что я могу сделать ... Если я установил

STATIC_URL = '/static/'
STATIC_ROOT = 'C:\Users\Max\Works\www\mysite\mysite\static'
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

Я думал, что этого достаточно ... Я что-то упустил?Можете ли вы сказать мне, что является лучшим параметром для статических файлов в среде develompent?Спасибо за совет ...

РЕДАКТИРОВАТЬ (1) Я уже вставил в свой шаблон {{STATIC_URL}} css / dark-grey.css "и, конечно, css находится в C: \ Users \ Max \ Works \www \ mysite \ mysite \ static \ css \ dark-grey.css, я действительно не могу понять, что не так ...

Ответы [ 4 ]

1 голос
/ 16 ноября 2012

Используйте / косые черты и НЕ \ косые черты в пути, даже для оконных путей.

0 голосов
/ 23 декабря 2011

Вам также нужно выполнить следующую команду, чтобы статические файлы переместились в нужное место (и чтобы Django знал, что они там есть):

python manage.py collectstatic

Полная документация по статическим файлам в Django 1.3здесь: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/

0 голосов
/ 23 декабря 2011

В вашем settings.py

DEBUG = True

Согласно документации:

Это представление автоматически включается сервером запуска (с установленным параметром DEBUGв True).

Использование шаблона URL - это способ форсировать его, что лично мне даже не нужно делать в моем проекте, пока DEBUG = True.Когда вы разрабатываете, у вас всегда будет DEBUG, а когда вы переключаетесь на работу, вы все равно даже не используете сервер разработки, поэтому вы будете указывать производственный сервер на статическое местоположение.

Этофрагмент моих статических настроек из файла settings.py.Мне не нужно вручную добавлять этот статический URL-адрес

import os

DEBUG = True

PROJECT_ROOT = os.path.dirname( __file__ )
PROJECT_NAME = os.path.basename(PROJECT_ROOT)

STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static/')
STATIC_URL = '/static/'

# Additional locations of static files
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    os.path.join(PROJECT_ROOT, 'web/'),
)

# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)


TEMPLATE_CONTEXT_PROCESSORS = (
    ...
    'django.core.context_processors.static',
    ...
    ...
)
0 голосов
/ 23 декабря 2011

Вам необходимо добавить шаблоны URL:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

# ... the rest of your URLconf here ...

urlpatterns += staticfiles_urlpatterns()

См. Документацию здесь

...