无法访问CSS文件

时间:2013-06-03 14:22:21

标签: python django python-2.7

访问我的css脚本时遇到一些问题。 设置:

STATIC_URL = '/static/'

# Additional locations of static files
STATICFILES_DIRS = (
    '/C:/NetMagProjekt/netmag/netmag/static',
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)

模板库

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

如果我在浏览器中查看源代码,它看起来像这样:

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

我无法找到css风格。

有什么想法吗?

5 个答案:

答案 0 :(得分:2)

  1. C:

  2. 之前删除前导后挡板
  3. <link rel="stylesheet" type="text/css" href="{{STATIC_URL}}style.css"/>更改为<link rel="stylesheet" type="text/css" href="/static/style.css"/>

  4. 如果这些没有帮助,请尝试:

    1. 确保settings.py包含以下内容:
    2. STATICFILES_FINDERS = (
        'django.contrib.staticfiles.finders.FileSystemFinder',
        'django.contrib.staticfiles.finders.AppDirectoriesFinder',
      )
      
      1. 确保urls.py包含以下内容:
      2. # redirects to static media files (css, javascript, images, etc.)
        (r'^static/(?P<path>.*)$', 
           'django.views.static.serve', {'document_root': 'static/'}),
        

答案 1 :(得分:1)

首先你必须修复你的代码:

STATICFILES_DIRS = (
    'C:/NetMagProjekt/netmag/netmag/static',
)

还尝试了一件事,而不是使用静态目录选项,

STATIC_ROOT = 'C:/NetMagProjekt/netmag/netmag/static'

尝试两种选择。

答案 2 :(得分:0)

尝试使用collectstatic django命令。

例如:

cd project_dir
python manage.py collectstatic

有关详细信息,请参阅here

将此行放在root urls.py文件中。

# redirects to static media files (css, javascript, images, etc.)
(r'^static/(?P<path>.*)$', 
   'django.views.static.serve', {'document_root': 'static/'}),

答案 3 :(得分:0)

我会以编程方式获取基本路径以避免出现问题。

这是我在项目中设置的方式。

import os

BASE = os.path.abspath(os.path.dirname(__name__))

STATICFILES_DIRS = (
    os.path.join(BASE, "<your dir name>"),
)

我建议您使用python console(在您的终端中使用python命令启动(可能,我不在Windows上),然后运行并打印命令以查看。

示例:

$>python
>>> BASE = os.path.abspath(os.path.dirname(__name__))
>>> BASE
'/string/to/directory/I/am/in/currently'

这样就会返回设置文件的绝对路径。然后你只需加入那个静态文件所在的路径就可以了。你应该是金色的。

答案 4 :(得分:-1)

可能有几件事情导致它。

是否定义了STATIC_ROOT?

STATIC_ROOT = 'C:/NetMagProjekt/netmag/netmag/static'

当然,确保路径正确并在c:

之前消除额外的反斜杠

在模板中,确保您有

{% load staticfiles %}

即使扩展加载静态文件的模板,我相信你需要再次添加它。然后可能对于src url,这可能会有所帮助:

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

最后,加载静态文件:

python manage.py collectstatic