【问题标题】:Django 1.4 static files css not applied未应用 Django 1.4 静态文件 css
【发布时间】:2013-02-26 09:47:11
【问题描述】:

过去几天我一直在研究如何将 css 文件包含到 Django 模板中。我仍然没有成功,所以希望有人可以帮助我。 我有以下设置:

--settings.py--

MEDIA_ROOT = '' 
MEDIA_URL = ''
STATIC_ROOT = ''
STATIC_URL = '/static/'

我也没有在 STATICFILES_DIRS() 中设置任何内容。

--urls.py--

urlpatterns = patterns('', (r'^$', 'reviewsite.views.my_homepage_view'),)
urlpatterns += staticfiles_urlpatterns()

--views.py--

def my_homepage_view(request):
return render_to_response('test.html', context_instance=RequestContext(request))

--test.html 模板--

<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/style.css"/>

--源码本地主机--

<link rel="stylesheet" type="text/css" href="/static/css/style.css"/>

根据 Django 文档,似乎我已经正确设置了所有内容,但仍然没有应用 css 样式。静态文件夹位于我的其他应用程序所在的正确位置(C:reviews/reviewsite/static)。即使我在 test.html 模板中硬编码 style.css 位置(C:reviews/reviewsite/static/css/style.css),也不会应用 css 样式。我已经检查了 style.css,它在没有 Django 的情况下也可以工作。 知道我做错了什么吗?

【问题讨论】:

  • 您能否发布您的应用程序的文件夹结构并指定您的静态文件夹在其中的位置?请参考this answer 并尝试一下。它可能会帮助你。

标签: python django django-staticfiles


【解决方案1】:

大家好,感谢您的帮助,对于迟到的回复深表歉意。我尝试了你的建议,但不幸的是它没有奏效。然而,经过一段时间的尝试,我现在开始工作了。这对我有用:

--settings.py--

MEDIA_ROOT = ''
MEDIA_ROOT = ''
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
STATIC_URL = 'http://localhost:8000/static/'

--urls.py--

urlpatterns = patterns('', (r'^$', 'reviewsite.views.my_homepage_view'),)
urlpatterns += patterns('',
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT }), )

我现在已将 css 文件放在我的应用程序目录的静态文件夹中。在模板中,我使用的是 {{ STATIC_URL }}/style.css。

【讨论】:

    【解决方案2】:

    这是你如何调用静态文件中的文件

    {% static %}
    
    <link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}"/>
    

    settings.py

    import os
    import sys
    
    PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..')
    SITE_ROOT = PROJECT_ROOT
    
    MEDIA_ROOT = os.path.join(SITE_ROOT, 'media') 
    MEDIA_URL = '/media/'
    STATIC_ROOT = os.path.join(SITE_ROOT, 'static')
    STATIC_URL = '/static/'
    
    STATICFILES_DIRS = (
        //create staticfiles folder
        os.path.join(SITE_ROOT, 'staticfiles'),
    )
    

    【讨论】:

      猜你喜欢
      • 2014-05-09
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 2020-08-31
      • 2011-06-18
      • 2012-12-15
      • 2020-04-28
      • 2022-01-20
      相关资源
      最近更新 更多