Python Django样式表将不会加载
我已经阅读了关于静态文件的无限线程和所有似乎发生的问题,但是没有任何东西可以解决我的问题。昨天我花了很多时间让我的“媒体”文件夹工作,但我似乎无法让静态文件工作 我的模板查找文件的正确位置,文件就在那里,但是当模板尝试加载它时,我得到了404 这是我的settings.py:Python Django样式表将不会加载,python,django,stylesheet,static-files,Python,Django,Stylesheet,Static Files,我已经阅读了关于静态文件的无限线程和所有似乎发生的问题,但是没有任何东西可以解决我的问题。昨天我花了很多时间让我的“媒体”文件夹工作,但我似乎无法让静态文件工作 我的模板查找文件的正确位置,文件就在那里,但是当模板尝试加载它时,我得到了404 这是我的settings.py: STATIC_PATH = os.path.join(BASE_DIR, 'static') STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders
STATIC_PATH = os.path.join(BASE_DIR, 'static')
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.7/howto/static-files/
MEDIA_URL = '/media/'
MEDIA_ROOT = 'public/media/'
STATIC_URL = '/static/'
# STATIC_ROOT = 'public/static/'
STATIC_DIRS = (
STATIC_PATH,
)
DEBUG = True
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'myprojectname/static'),
)
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.7/howto/static-files/
STATIC_URL = '/static/'
base.html
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>Address Book</title>
<link rel="stylesheet" type="text/css" href="{{STATIC_URL}}address_book/stylesheets/1.css"
</head>
{% if user.is_authenticated %}
<h1>Hello {{ user.username }}!</h1>
{% else %}
<h1>Please login below</h1>
{% endif %}
<body>
{% block body_block %}{% endblock %}
</body>
<h2> Need to make changes? </h2>
<ul>
<li><a href="{% url 'index' %}">Go home</a></li>
{% if user.is_authenticated %}
<li><a href="{% url 'logout' %}">Logout</a></li>
<li><a href="{% url 'add_client' %}">Add new client</a></li>
{% else %}
<li><a href="{% url 'login' %}">Login</a></li>
<li><a href="{% url 'register' %}">Register here</a></li>
{% endif %}
</ul>
通讯录
您应该删除URL.py中的条目。提供静态文件所需的全部内容如下:
在my settings.py中:
STATIC_PATH = os.path.join(BASE_DIR, 'static')
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.7/howto/static-files/
MEDIA_URL = '/media/'
MEDIA_ROOT = 'public/media/'
STATIC_URL = '/static/'
# STATIC_ROOT = 'public/static/'
STATIC_DIRS = (
STATIC_PATH,
)
DEBUG = True
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'myprojectname/static'),
)
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.7/howto/static-files/
STATIC_URL = '/static/'
在我的模板中:
{% load staticfiles %}
<script type="text/javascript" src="{% static 'raphael-min.js' %}"></script>
{%load staticfiles%}
文件的位置是/myprojectname/static/raphael-min.js
IE/home/username/djangoProjects/myprojectname/myprojectname/static/raphael-min.js
是否调试设置为假?Django不在调试模式下运行时不提供静态文件。有关更多信息,请参阅您的浏览器尝试服务的路径以及它应该尝试服务的路径?DEBUG设置为True。浏览器试图提供“href=“/static/address\u book/stylesheets/1.css”,这是正确的文件夹,但它显示了404。这个答案是正确的,但它没有突出显示实际问题,即OP使用的是静态目录
,而不是静态文件
。