路径看起来有点奇怪,但它是我的第一个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
它包含assets
和admin
。但是我的CSS没有被使用,尽管我在模板中导入了它。我把它链接错了吗?
答案 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。