已复制静态文件,未使用css

时间:2013-11-19 22:04:14

标签: python css django static django-staticfiles

路径看起来有点奇怪,但它是我的第一个Django应用程序,我正在学习:)

setting.py

STATIC_ROOT = os.path.join(SITE_ROOT, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    ('assets', 'C:\Users\Szymon\Desktop\UploaderUpdate\Uploader\uploader\static'),
)

urls.py

urlpatterns += staticfiles_urlpatterns()

main.html(模板)

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

然后在我的cmd中我做了: python manage.py collectstatic 它说复制文件。现在,我在我的(我创建了)静态文件夹:

C:\Users\Szymon\Desktop\UploaderUpdate\Uploader\uploader

不幸的是,主应用位于文件夹main中,因此它在:

创建了文件夹static
C:\Users\Szymon\Desktop\UploaderUpdate\Uploader\uploader\uploader\static

它包含assetsadmin。但是我的CSS没有被使用,尽管我在模板中导入了它。我把它链接错了吗?

3 个答案:

答案 0 :(得分:0)

也许试试

STATICFILES_DIRS = (os.path.join(SITE_ROOT,'static'))?

我不知道为什么绝对路径似乎不起作用。但是,python manage.py collectstatic应该将所有静态文件放在由STATIC_ROOT定义的静态目录中,该静态目录使用SITE_ROOT(或来自https://docs.djangoproject.com/en/1.6/howto/static-files/的BASE_DIR。)(如果可以,我会避免使用本地绝对路径)当你投入生产时,你会给你更多的工作。)你的SITE_ROOT也是这样的吗?

SITE_ROOT = os.path.dirname(os.path.abspath(__file__))

我99%确定这会给出settings.py文件所在目录的绝对路径,因此如果使用此目录,则静态文件夹应与设置文件位于同一目录中。

答案 1 :(得分:0)

尝试更改此内容:

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

由:

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

答案 2 :(得分:0)

我设法做到这一点 - 链接到需要在我的模板的{% header %}部分中的CSS。