Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django静态文件404正在部署到数字海洋_Django_Digital Ocean_Django Staticfiles - Fatal编程技术网

Django静态文件404正在部署到数字海洋

Django静态文件404正在部署到数字海洋,django,digital-ocean,django-staticfiles,Django,Digital Ocean,Django Staticfiles,该服务器是在Ubuntu 16.04.2 x64上启动的,在本地服务器上所有的工作都与这里启动的设置相同,找不到它们 背景 STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), #'/var/www/static/', ] STATIC_ROOT = os.path.join(BASE_DIR, "static_cdn") MEDIA_URL = "/

该服务器是在Ubuntu 16.04.2 x64上启动的,在本地服务器上所有的工作都与这里启动的设置相同,找不到它们

背景

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    #'/var/www/static/',

]

STATIC_ROOT     = os.path.join(BASE_DIR, "static_cdn")
MEDIA_URL       = "/media/"
MEDIA_ROOT      = os.path.join(BASE_DIR, "media_cdn")
网址

在本地服务器上,一切都很好,但当我在live staticfiles中启动它时,找不到它

> [29/Jul/2017 07:54:38] "GET /static/css/bootstrap.min.css HTTP/1.1"
> 404 102 [29/Jul/2017 07:54:38] "GET /static/js/bootstrap.min.js
> HTTP/1.1" 404 100 [29/Jul/2017 07:54:38] "GET
> /static/min_css/base.min.css HTTP/1.1" 404 101 [29/Jul/2017 07:54:38]
> "GET /static/js/Chart.min.js HTTP/1.1" 404 96 [29/Jul/2017 07:54:38]
> "GET /static/js/smooth-scroll.js HTTP/1.1" 404 100 [29/Jul/2017
> 07:54:38] "GET /static/js/script.js HTTP/1.1" 404 93 [29/Jul/2017
> 07:54:39] "GET /static/js/bootstrap.min.js HTTP/1.1" 404 100
> [29/Jul/2017 07:54:39] "GET /static/js/Chart.min.js HTTP/1.1" 404 96
> [29/Jul/2017 07:54:39] "GET /static/js/smooth-scroll.js HTTP/1.1" 404
> 100 [29/Jul/2017 07:54:39] "GET /static/js/script.js HTTP/1.1" 404 93

听起来您好像没有运行过
python manage.py
。这将把静态文件复制到正确的位置


如果这不起作用,请检查您的web服务器配置。

您必须为这样的部署创建静态文件! 在你的设置中替换你的staticfile const,一切都会很好

STATIC_URL = '/static/'

STATICFILES_DIRS = [

    os.path.join(BASE_DIR, "static")

]

MEDIA_URL    = '/media/'

STATIC_ROOT = '../static/'

MEDIA_ROOT = '../media/'
如果它不工作,请使用完整路径! 像这样:

STATIC_ROOT = '/var/www/static/',

如何确认服务器配置?您使用的是什么web服务器?Nginx或Apache?我使用Nginx服务器好的,你能发布Nginx配置吗?应该位于
/etc/nginx/sites available/default
,除非您在其他地方设置了它。我正在尝试通过您给出的路径,但它留下了一个错误,即没有这样的目录,只有/etc/
STATIC_ROOT = '/var/www/static/',