Can';t将css文件或图像附加到Django模板
在网上冲浪,我找到了一些解决问题的方法。但这无助于最后的回答。 我在Can';t将css文件或图像附加到Django模板,django,Django,在网上冲浪,我找到了一些解决问题的方法。但这无助于最后的回答。 我在url.py中添加了这个: urlpatterns += patterns('', url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}), ) CURRENT_PATH = os.path.abspath(os.path.d
url.py中添加了这个:
urlpatterns += patterns('',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
)
CURRENT_PATH = os.path.abspath(os.path.dirname(__file__).decode('utf-8'))
MEDIA_ROOT = os.path.join(CURRENT_PATH, 'media')
MEDIA_URL = '/media/'
STATIC_ROOT = 'static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(CURRENT_PATH, 'static'),
)
和我的模板:
<html>
<head lang="en">
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/main.css" />
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/font-awesome.min" />
<title></title>
</head>
<body>
{% load staticfiles %}
<div id="modal" class="modal fade">
<div class="modal-header">
<div>Вхід у систему</div>
</div>
<div class="modal-body">
<form action = "/login/" method="post">
<div>
<label for="username">Логін:</label>
{{form.username}}
</div>
<div>
<label for="password">Пароль:</label>
{{form.password}}
</div>
<br>
<div>
<input type="submit" value="Submit">
</div>
</form>
</div>
</div>
<img src="{{STATIC_URL}}ukraine.png" alt="My image"/>
</body>
</html>
{%load staticfiles%}
Вхід у систему
Логін:
{{form.username}
Пароль:
{{form.password}}
因此,CSS文件无法工作,甚至找不到图像。
我为静态文件创建了文件夹:D:\KIT\static\css
引用官方文件:
确保已将django.contrib.staticfiles
包含在已安装的应用程序中
当前路径是什么?确保它是D:\KIT\
然后你可以像这样对他们进行归纳:
<link rel="stylesheet" type="text/css" href="{% static "css/main.css" %}" />
确保模板以{%load staticfiles%}
您可能忘了运行collectstatic。在开发过程中,每次发生更改时都运行它是非常不现实的,因此为了避免这种情况,您必须修改您的设置
将django.contrib.staticfiles添加到已安装的_应用程序中,并设置DEBUG=True,然后runserver将为您完成繁重的工作
我还建议在{static\u URL}上使用静态模板标记{%static'path/to/static.css%},并将templatetag加载放在模板文件的第一行(如果扩展模板,则放在第二行)。尝试更改当前路径=os.path.dirname(os.path.dirname(\u file\uu))
别忘了{%load staticfiles%}很好的捕获,添加到了答案中。