2016-12-28 78 views
0

我试图用DEBUG=False在部署模式下运行我的django站点。事实上,当我做一个python manage.py collectstatic它将收集所有静态文件到我的文件夹/mysite/static。但是当我加载我的主页我的静态文件将不会加载Not Found发生。Django:collectstatic工程,但没有找到正确的静态文件夹

我的Django的版本是1.10.4 这里是我的静态根的定义和URL文件夹:

settings.py

STATIC_URL = '/static/' 

STATIC_ROOT = os.path.join(BASE_DIR, "static") (i tried also just only 'static') 

MEDIA_ROOT = BASE_DIR + '/mysite/media' 

MEDIA_URL = '/media/' 

urls.py

urlpatterns = [ 
    url(r'', include('mysite.urls')), 
] 

urlpatterns += staticfiles_urlpatterns() 

我注意到这不是假设我的collectstatic文件夹,而是正在考虑应用程序文件夹中的静态文件。

python manage.py findstatic mysite/js/javascript.js

Found 'app/js/javascript.js' here: 
/home/user/mysite/app/static/app/js/javascript.js 

好了,一旦DEBUG=False应该看到这样的信息:

/home/user/mysite/static/app/js/javascript.js 
+1

你配置你的服务器以满足'yourdomain.com /静态/'从'STATIC_ROOT'文件夹? – knbk

+0

嗯,我认为这是没有必要的,因为我已经开始一个新的Django站点,它的工作原理都可以。没有'yourdomain.com/static /' – ePascoal

+0

@MrMartin cf https://docs.djangoproject.com/zh/1.10/REF /了contrib/staticfiles / –

回答

2

在生产服务器上,你的nginx或Apache应该服务于静态文件。当Debug = False时,django停止提供静态文件。请分享你的nginx的设置,我可以帮你在那里......

欲了解更多信息,请this link

相关问题