Django没有加载我的静态文件。但是它正在加载我在静态文件夹中的模板。 Chrome也没有看到静态文件,我甚至没有得到404错误,是的,它们是在html中链接的......但它们没有出现在网络面板中
继承我的settings.py文件
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS =(
os.path.join(BASE_DIR, 'static'),
)
这是我的HTML
<head>
<title>MySite | Home</title>
<meta charset="UTF-8">
<link rel="stylesheet" type='text/css' src='css/normalize.css'>
<link href='http://fonts.googleapis.com/css?family=Questrial|Josefin+Sans' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" src='css/main.css'>
<script src="https://maps.googleapis.com/maps/api/js"></script>
</head>
抱歉,我知道这个问题已被多次询问,我已经尝试了所有这些解决方案而没有运气。我花了两天时间试图解决这个问题
答案 0 :(得分:1)
我对静态文件采用的方法基本上是docs中列出的内容。
在本地开发中,只要STATIC_ROOT
django.contrib.staticfiles
和INSTALLED_APPS
DEBUG = True
,Django就会自动从my_project/
some_app/
lib/
static/ <------- STATIC_ROOT - used in production. `collectstatic` collects here
static_assets/ <- STATICFILES_DIRS - used in local dev
css/
less/
js/
images/
templates/ <---- TEMPLATE_DIRS
manage.py
中指定的目录提供静态文件
我的项目结构通常如下所示:
INSTALLED_APPS = (
. . .
'django.contrib.staticfiles',
. . .
)
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static_assets'),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
settings.py通常是:
{% load static from staticfiles %}
<link rel="stylesheet" href="{% static 'css/normalize.css' %}" />
然后在模板中,您可以再次使用staticfiles应用程序的模板标签构建静态文件的路径:
<link>
另请注意,对于href
标记,您需要使用src
属性作为网址,而不是var full_map;
var locations_map;
。
答案 1 :(得分:0)
在您的setting.py文件中添加此
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
在应用中创建一个名为static的文件夹,并在模板文件中添加此{%load static%}