不显示样式
Styles are not displayed
我对着陆样式有问题。我不知道发生了什么,因为早期的工作。
使用该网站的文件,我在"静态"中。例如,使用的文件,django 管理面板 - 在"静态文件"中
我的 settings.py 文件,在静态文件的一部分:
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.6/howto/static-files/
TEMPLATE_DIRS = (
join (base_dir, 'templates'),
)
STATICFILES_DIRS = (
join (base_dir, 'static')
)
STATIC_URL = '/static/'
STATIC_ROOT = (
join (base_dir, 'staticfiles')
)
HTML 代码,基本.html。这是我的主页:
<!DOCTYPE html>
<html>
<head>
<title>Test site</title>
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/css/main.css">
</head>
<body>
<div class="container">
{% block nav %}
<div class="header">
<ul class="nav nav-pills pull-right">
<li {% if request.path == '/' %} class="active" {% endif %}>
<a href="/">Home</a>
</li>
{% if user.is_authenticated %}
<li{% if request.path == '/elist/'%} class="active" {%endif%}>
<a href="{% url 'emaillist' %}">E-mail list</a>
</li>
{% endif %}
<li{% if request.path == '/contact/' %} class="active" {% endif %}>
<a href="{% url 'contact1' %}">Contact</a>
</li>
</ul>
<h3 class="text-muted"><a href="/">Name site</a></h3>
</div>
{% endblock %}
{% block header %}
<div class="jumbotron">
<h1>Soon we go!</h1>
<p class="lead">Landing page.</p>
</div>
{% endblock %}
{% block content %}{% endblock %}
{% block footer %}{% endblock %}
</div>
</body>
</html>
这看起来不太好:
STATIC_ROOT = (
join (base_dir, 'staticfiles')
)
此变量应为字符串,而不是元组,如下所示:
STATIC_ROOT = join(base_dir, 'staticfiles')
但我认为您可能想这样做:
STATICFILES_DIRS = (
join(base_dir, 'staticfiles')
)
确保base_dir
是绝对路径,并且相对于它确实存在staticfiles/css/main.css
。
而且由于你在 Django 1.6 中,最好使用 {% static 'css/main.css' %}
而不是 {{ STATIC_URL }}/css/main.css
。为此,您必须在文件的前面执行{% load staticfiles %}
,最好是在顶部附近。
文档很好地解释了这些变量之间的区别。简而言之:
- 在
- 开发过程中,如果你在
INSTALLED_APPS
中有django.contrib.staticfiles
,那么 Django 将发现你应用程序中static
目录中的静态文件,并从那里提供它们。 - 你可以使用
STATICFILES_DIRS
来指定 Django 应该在其中查找静态文件的其他目录。 -
STATIC_ROOT
在部署中使用,当DEBUG=False
时。这应该是文件系统中的绝对路径,是像Apache这样的Web服务器使用的路径(不是Django的内置开发服务器)。当你运行python manage.py collectstatic
时,Django 会收集你项目中的所有静态文件并将它们复制到这个公共位置。 -
STATIC_URL
是静态文件的基本 URL。通常/static/
.在部署中,这个 URL 不会由 Django 提供,而是直接由 Web 服务器从STATIC_ROOT
的位置提供服务。
STATIC_ROOT = os.path.join(PROJECT_DIR,'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_DIR,'staticfiles'), # if you name your static files folder as "staticfiles"
)
现在在模板中包括静态文件作为
<link rel="stylesheet" type="text/css" href="{% static 'css/main.min.css' %}" />
<script type="text/javascript" src="{% static 'js/jquery.min.js' %}"></script>
相关文章:
- 应用程序在呈现Jquery Mobile之前显示无样式的Html
- 避免在用ng href加载样式表之前显示内容
- 在javascript中将样式显示从none更改为block
- PHP,MySQL,AJAX-调用AJAX结果后,Bootstrap CSS样式不会显示
- 如何使活动菜单项具有突出显示样式
- Javascript选中一个表中的所有复选框,该表的行具有样式显示标记
- ASP.Net VB - 显示数据折叠样式
- 如何检查与显示:无样式相关的文本内容
- Jquery/JS:通过样式显示显示选择框(无,块)
- 带有样式显示的 Div:表格的高度错误
- Javascript/JQuery 如果样式显示值等于
- 循环遍历数组并以表格样式显示结果
- 如何使PHP/JavaScript错误弹出窗口以正确的样式显示
- 如果所有li子元素都具有CSS样式显示,则隐藏父元素:none
- 样式显示:没有在IE8、IE9、IE10兼容性视图中不起作用
- 如何使用jquery-mobile以水平样式显示垂直单选按钮
- 类似materialdesign的样式显示CSS中的过渡
- 以格式化可读样式显示日期差异
- 操作样式显示属性
- 筛选出具有CSS样式显示的JQuery元素:无