我正在写一个django网站,我想用'Semantic UI'
作为前端。但是当我在django的第一页添加Semantic UI Button
时,它只显示纯文本!
我项目的文件树是这样的:
Matab->
----Matab->
--------Templates->
--------------base.html
--------------login.html
---------settings.py
-----media->
--------css->
------------semantic.css
settigs.py:
MEDIA_ROOT = os.path.join(os.path.dirname(__file__),'../media/').replace('\\','/')
MEDIA_URL = '/media/'
base.html:
<html>
<head>
<link rel="stylesheet" href="{{ MEDIA_URL }}css/semantic.css"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="Navid" />
</head>
<body>
<div id="mainContent">
{% block content %}{% endblock %}
</div>
</body>
</html>
login.html:
{% extends 'base.html' %}
{% block content %}
<div class="ui button">hello</div>
{% endblock %}
答案 0 :(得分:0)
修改:请使用STATIC_ROOT
和STATIC_URL
代替MEDIA_ROOT
和MEDIA_URL
。并按照the doc设置静态文件目录。
您的MEDIA_ROOT
路径错误。将其更新为此 -
MEDIA_ROOT = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'media')
此处os.path.dirname(__file__)
计算到第二个Matab目录。再次使用os.path.dirname()
,将其带到First Matab目录。然后,您只需加入media
即可。 Python会自动添加斜杠。
答案 1 :(得分:0)
问题出在urls.py上,我应该插入这一行:
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)