Справочная информация. Я использую сервер jango manage.py для локальной разработки. У меня есть contrib.staticfiles в установленных приложениях, и я использую свой тег шаблона {% static%} в моих шаблонах.Как использовать удаленный статический файловый сервер при разработке с помощью django manage.py runningerver
Что я пытаюсь достичь: для разработки я хотел бы использовать независимый сервер для обслуживания статических файлов, но использовать сервер разработки django для обслуживания приложения Django. Чтобы я мог получить доступ к странице локально на своем компьютере по адресу http://127.0.0.1:8000, но все статические файлы будут обслуживаться с другого компьютера или с другого сервера на локальном хосте, как определено параметром settings.STATIC_URL.
Проблема: переменная settings.STATIC_URL переопределяется, когда я использую сервер разработки. Таким образом, все мои статические файлы обслуживаются локальным сервером разработки django вместо того, что я определил в settings.STATIC_URL.
Решение: см. Ниже ответ Даниила!
settings.py:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
STATIC_URL = os.path.join('127.0.0.1:666', BASE_DIR, 'static/')
example_template.html:
{% load staticfiles %}
{% load bootstrap3 %}
{% bootstrap_css %}
{% bootstrap_javascript jquery=True%}
{% bootstrap_messages %}
{# Load MyApp CSS #}
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700subset=greek-ext,vietnamese,cyrillic-ext,latin-ext' rel='stylesheet' type='text/css'>
<link href="{% static 'css/my_app.main.css' %}" rel="stylesheet">
исходный код страницы при использовании браузера:
<link href="FULL_PATH_TO_BASE_DIR_HERE/static/css/my_app.main.css" rel="stylesheet">
но ожидал увидеть:
<link href="127.0.0.1:666/FULL_PATH_TO_BASE_DIR_HERE/static/css/my_app.main.css" rel="stylesheet">
Нет, URL-адрес не переопределяется, если вы не сделаете это самостоятельно. Пожалуйста, покажите соответствующие части вашего файла настроек и виды/шаблоны, в которых вы используете это значение. –
Надеюсь, это содержит необходимые строки! Я получаю доступ к статическим файлам из своих шаблонов, используя тег {% static%} (я не получаю доступ к ним из своих представлений). – zenperttu
Вы пытались удалить 'django.contrib.staticfiles' с вашего' INSTALLED_APPS'? –