上网冲浪,我找到了解决问题的方法。但它没有帮助(Include CSS and Javascript in my django template)最后的回答。
我在urls.py
中添加了这个:
urlpatterns += patterns('',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
)
这是我的settings.py
:
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>
结果CSS文件不起作用,甚至找不到图像。
我为静态文件创建了文件夹:D:\KIT\static\css
答案 0 :(得分:0)
来自官方documents:
确保您已将django.contrib.staticfiles
纳入INSTALLED_APPS
什么是CURRENT_PATH
?确保它是D:\KIT\
然后你可以这样包含它们:
<link rel="stylesheet" type="text/css" href="{% static "css/main.css" %}" />
确保您的模板以{% load staticfiles %}
答案 1 :(得分:0)
你可能忘记了运行collectstatic。每次在开发过程中发生变化时运行它都是非常不切实际的,所以为了避免这种情况,你必须修改你的设置。
将django.contrib.staticfiles添加到您的INSTALLED_APPS并设置DEBUG = True,然后runserver将为您完成繁重的工作。
我还建议在{{STATIC_URL}}上使用静态模板标记{%static'path / to / static.css'%}并在第一行放置templatetag加载(如果扩展模板,则为第二行) )你的模板文件。