я уже задавал подобный вопрос, но сейчас появилась необходимость разобраться основательно. помогите пожалуйста, несколько дней сижу с такой простейшей фигнёй((
вопрос по раздаче статических файлов на локальном сервере. вообще я эту раздачу настроил и сейчас она работает, но из документации я так и не смог понять что значат настройки в settings.py
опишу свою конфигурацию.
структура каталогов:
C:\Python33\django_projects\avtos (catalog)
db.sqlite3 (file)
manage.py (file)
avtos(catalog)
templates(catalog)
index.html(file)
settings.py(file)
urls.py(file)
views.py(file)
admin.py(file)
models.py(file)
__init__.py(file)
static(catalog)
css(catalog)
styles.css(file)
settings.py fragment:
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATIC_URL = '/static/'
ROOT_URLCONF = 'avtos.urls'
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'avtos',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
index.html fragment:
{% load staticfiles custom_tags %}
<html>
<head>
<link rel="icon" href='{% static "images/favicon.ico" %}' type="image/x-icon" />
<link rel="stylesheet" href='{% static "css/styles.css" %}' />
исходник страницы браузера фрагмент:
<html>
<head>
<link rel="icon" href='/static/images/favicon.ico' type="image/x-icon" />
<link rel="stylesheet" href='/static/css/styles.css' />
как я понимаю происходящее:
путь до static\css\styles.css
можно условно разбить на 2 части(static
+ css\styles.css
).
первой части соответствует STATIC_URL = '/static/'
в settings.py
второй части соответствует "images/favicon.ico
" в index.html
таким образом при отдаче собранной страницы сервер видит системный путь C:\Python33\django_projects\avtos\avtos\static\css\styles.css
, но браузер получает URL http://127.0.0.1:8000/static/css/styles.css
допустим это так. НО допустим, что я создал каталог C:\Python33\django_projects\avtos\avtos\qwe
и поместил каталог static
со всем содержимым в него. то есть получилось следующее C:\Python33\django_projects\avtos\avtos\qwe\static\css\styles.css
далее в settings.py я меняю STATIC_URL = '/qwe/static/'
. теоретически сейчас при перезагрузке страницы в браузере ничего не должно поменяться. однако в этом случае статические файлы уже не загружаются
у меня мозг взрывается. что я не понимаю в раздаче статики скажите пожалуйста