Django项目模板相关css在生产中不起作用
我得到了以下设置:Django项目模板相关css在生产中不起作用,django,django-deployment,Django,Django Deployment,我得到了以下设置: STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static', 'appname'), ) 在我的模板中,我得到了 <link rel="stylesheet" href"{% static 'appname/css/main.css' %}" /> 我的静态文件
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static', 'appname'), )
在我的模板中,我得到了
<link rel="stylesheet" href"{% static 'appname/css/main.css' %}" />
我正在部署生产。请告知。
collectstatic
复制STATICFILES\u DIRS
中路径下的所有内容。因此,由于您将appname
放在那里,您的css文件将以“/static/css/main.css”结尾。您要做的可能是将设置更改为:
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
像这样更改您的设置
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
os.path.join(BASE_DIR, 'static', 'appname'),
)
{% load staticfiles %}
<link rel="stylesheet" href"{% static 'appname/css/main.css' %}" />
现在可以像这样加载静态文件
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
os.path.join(BASE_DIR, 'static', 'appname'),
)
{% load staticfiles %}
<link rel="stylesheet" href"{% static 'appname/css/main.css' %}" />
{%load staticfiles%}
我从中发现它需要在gunicorn中进行设置。本教程不是基于gunicorn的,但是关于gunicorn的链接对我来说很好。我很感谢你们的帮助,stackoverflow真是太棒了。你需要配置web服务器将静态重定向到该文件夹,并运行collectstaticshare共享你的目录结构。如前所述,我的Django默认静态文件正在显示。但不是我的项目静态文件。我已在上面添加了有关我的目录结构的详细信息。您在项目级别或应用程序级别有静态文件夹吗?我的意思是,您的静态文件夹位于此级别“/project/static/”或此/project/appname/static/?尝试了两种方法…它收集了静态文件夹,因为我没有拼写static/appname下的文件夹。但后来它收集了它,但生产中的域在检查元素后仍然说:“加载资源失败:服务器响应状态为404(未找到)”,js文件和其他文件也是如此。HTML很好,css for Admin也在运行。我正在使用Gunicorn和Nginx进行设置,每次进行更改时,我都会重新启动这两个服务,以确保更改生效。因此,问题只存在于与css相关的基于项目的模板中。管理员css工作正常,因为我的网站设置为Debug=False。它正在收集静态数据并显示在文件夹中。但不知怎么的,我不会现场直播。我完全按照你们的人说的做了。你们是在本地机器上的生产服务器上检查的吗?我正在生产中,正如前面提到的。