我一直在尝试创建一个django应用程序,但是django渲染静态文件存在问题:
这是我的设置文件静态配置:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static")
我已将所有静态文件放在manage.py所在位置的静态文件夹中。
答案 0 :(得分:1)
在这里你定义了一个STATIC_ROOT,所以你放置静态文件后,你需要运行的css或js文件的每次更改
python manage.py collectstatic
此命令将所有静态文件收集到已定义的字典中,但这是在完成开发后完成的。因此,您可以在开发期间使用STATICFILES_DIRS,而不是那样,
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static")
]
将在开发期间自动查找静态文件。
还要确保已安装的应用中包含静态文件。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles', # it's is used for static files
]
在模板中,您可以加载静态文件,例如
{% load staticfiles %} # register static tag
<link ref="stylesheet" href="{% static 'style.css' %}">
答案 1 :(得分:0)
settings.py
INSTALLED_APPS = [
...
...
'django.contrib.staticfiles',
...
...
]
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn")
urls.py(主要项目&#39; urls.py)
from django.conf.urls.static import static
urlpatterns = [
...
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)