django 2.0.3和Python 3.6.x FireFox,Chrome,Safari
我不确定这是一个django问题,因为这是我从未见过的事情。我希望有人以前见过这个,或者知道我做错了什么。
我的浏览器无法使用runserver找到我的静态文件。奇怪的是,模板中的网址是正确的,如果我将网址粘贴到浏览器中,则会找到这些文件。
如果我跑
./manage.py findstatic --verbosity 2 css/style.css
找到文件。然而,浏览器,Firefox,Chrome,Safari(所有最新版本)都在我访问静态资源的页面的WebConsoles中显示404。
<link rel="stylesheet" href="{% static 'trans/css/style.css?1510690221335' %}">
不起作用。如果我更改为实际网址
<link rel="stylesheet" href="http://localhost:8080/trans/css/style.css?1510690221335">
事情很好。
我的相关(尽我所知)配置
STATIC_ROOT = str(ROOT_DIR('staticfiles'))
STATIC_URL = '/static/'
STATICFILES_DIRS = [
str(APPS_DIR.path('static')),
]
/#staticfiles发现者
STATICFILES_FINDERS = [
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]
我还添加了
static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
到我的urls.py
我的static
文件夹和子文件夹上的所有权限都是正确的。有没有人见过这个并知道决议?谢谢。
答案 0 :(得分:0)
我遇到同样的问题,当我将静态文件放在与我的应用名称不对应的文件夹中时,请按照以下步骤操作
在您的设置文件中,定义STATIC_URL,例如:
STATIC_URL ='/ static /'
在模板中,使用静态模板标记使用配置的STATICFILES_STORAGE为给定的相对路径构建URL。
{%load static%}
src =“{%static”my_app / example.jpg“%}”
将静态文件存储在应用中名为static的文件夹中。例如my_app / static / my_app / example.jpg
请参阅完整文档here
答案 1 :(得分:0)
static
标记转义问号(在以前的版本中没有)。
所以将?
移到标记调用之外:
<link rel="stylesheet" href="{% static 'trans/css/style.css' %}?1510690221335">
应该有效。
看起来像个错误。