语义UI在django的模板文件中不起作用

时间:2014-03-20 08:01:34

标签: python django django-templates semantic-ui

我正在写一个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 %}

2 个答案:

答案 0 :(得分:0)

修改:请使用STATIC_ROOTSTATIC_URL代替MEDIA_ROOTMEDIA_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)