Имам проблеми с надстройването на моя проект от Django 1.8 на Django 1.10: статичните файлове вече не са заредени.
Моят шаблон изглежда така:
{% load staticfiles %}
<!DOCTYPE html>
...
<link href="{%static "file.css" %}" rel="stylesheet">
...
Тогава в моя файл settings.py имам "django.contrib.staticfiles" като инсталирано приложение. DEBUG е зададено на True и имам:
STATIC_URL = os.path.join(BASE_DIR, "static/")
STATIC_ROOT= os.path.join(BASE_DIR,"static/")
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static/"), "./", ]
Но когато се създава html, тя е като% static вече няма ефект. То се заменя с празния низ (същото работи добре с Django 1.8, където% static се заменя със съдържанието на STATIC_URL). Някой знае ли как да се определи това?
Отговори:
1 за отговор № 1Можете ли да добавите актуализацията на urls.py (mainproject / urls.py), след като направите това python manage.py collectstatic
команда.
from django.conf.urls import url, include
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r"^admin/", admin.site.urls),
]
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
settings.py
===================
import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
def root(folder):
return os.path.join(os.path.abspath(os.path.dirname(__file__)), "..",folder)
STATIC_ROOT = root("staticstorage")
STATIC_URL = "/static/"
# Additional locations of static files
STATICFILES_DIRS = (
root("static"),
)