我已经查找了几乎所有关于Django CSS,JS,图像文件无法加载的解决方案。但是,我认为我的项目有所不同。
我想制作一个RWD网站,但它不能在小屏幕上工作。 没有菜单,没有更改模板。
我可以看到CSS有效,但并非完全如此。 image description here
尝试一切我能找到的解决方案。我对静态文件和路径混淆了什么是正确的级别。
我尝试了很多方法,我删除那些没有真正参与的方法来保持代码清洁,因为有人可以帮助我。
settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templated-EX').replace('\\', '/')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
...
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'coreapp/static')
STATIC_DIRS = [
('css',os.path.join(STATIC_ROOT,'css').replace('\\','/') ),
('js',os.path.join(STATIC_ROOT,'js').replace('\\','/') ),
('images',os.path.join(STATIC_ROOT,'images').replace('\\','/') ),
# ('upload',os.path.join(STATIC_ROOT,'upload').replace('\\','/') ),
]
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
的index.html
{% load staticfiles %}
<!DOCTYPE HTML>
<!--
Ex Machina by TEMPLATED
templated.co @templatedco
Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
-->
<html>
<head>
<title>Ex Machina by TEMPLATED</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<link href='http://fonts.googleapis.com/css?family=Roboto+Condensed:700italic,400,300,700' rel='stylesheet' type='text/css'>
<!--[if lte IE 8]><script src="{% static "js/html5shiv.js" %}"></script><![endif]-->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="/static/js/skel.min.js"></script>
<script src="/static/js/skel-panels.min.js"></script>
<script src="/static/js/init.js"></script>
<link rel="stylesheet" href="/static/css/skel-noscript.css" />
<link rel="stylesheet" href="/static/css/style.css"/>
<link rel="stylesheet" href="/static/css/style-desktop.css"/>
此外,我还尝试向urls.py添加内容。它也无法改善。
我是Django的新手,必须失去重要的东西。我已经坚持了几天。
更新0810
好的,伙计们,
我想我比以前更清楚了。我尝试下载另一个模板并构建一个新项目。再次执行该程序。
新项目很好!所以程序是正确的。
我检查了我提到的与我的有点不同的原始模板。 不同的是html和CSS。
index.html中的原始CSS
<noscript>
<link rel="stylesheet" href="{% static "css/skel-noscript.css" %}"/>
<link rel="stylesheet" href="{% static "css/style.css" %}"/>
<link rel="stylesheet" href="{% static "css/style-desktop.css" %}"/>
</noscript>
如果您在html中使用<noscript></noscript>
,它就不起作用。也许我删除了<noscript></noscript>
,因为Django无法使用它。
答案 0 :(得分:0)
尝试在html中更改你的href,如下所示:
<link rel="stylesheet" href="{{STATIC_URL}}css/skel-noscript.css" />
如果这不起作用,请告诉我。
编辑: 你的BASE_DIR设置是什么? 您可以尝试以下设置。
# Static Files
STATIC_ROOT = join(os.path.dirname(BASE_DIR), 'staticfiles')
STATICFILES_DIRS = [join(os.path.dirname(BASE_DIR), 'static'), ]
STATIC_URL = '/static/'
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
答案 1 :(得分:0)
尝试在 index.html 文件中执行此操作:
<!DOCTYPE HTML>
{% load staticfiles %}
<!--
Ex Machina by TEMPLATED
templated.co @templatedco
Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
-->
<html>
<head>
<title>Ex Machina by TEMPLATED</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<link href='http://fonts.googleapis.com/css?family=Roboto+Condensed:700italic,400,300,700' rel='stylesheet' type='text/css'>
<!--[if lte IE 8]><script src="{% static "js/html5shiv.js" %}"></script><![endif]-->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="{% static 'js/skel.min.js' %}" type="text/javascript"></script>
<script src="{% static 'js/skel-panels.min.js' %}" type="text/javascript"></script>
<script src="{% static 'js/init.js' %}" type="text/javascript"></script>
<link href="{% static 'css/skel-noscript.css' %}" rel="stylesheet">
<link href="{% static 'css/style.css' %}" rel="stylesheet">
<link href="{% static 'css/style-desktop.css' %}" rel="stylesheet">
您没有正确使用{% load staticfiles %}