我最近在运行Ubuntu,Python 2.7.3,django.VERSION 1.5.1的EC2服务器上上传了我的应用程序。我已经设法成功启动它没有任何CSS /图像或JS。我可以查看模板并导航它们意味着模板目录设置正在运行。 看起来我错过了静态/媒体文件的一些设置。 任何人都可以建议吗?
内容" cat /etc/apache2/httpd.conf"
WSGIScriptAlias / /home/ubuntu/site/ProjectName/ProjectName/wsgi.py
WSGIPythonPath /home/ubuntu/site/ProjectName
<Directory /home/ubuntu/site/ProjectName/ProjectName>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
settings.py的内容
MEDIA_ROOT = '/var/www/media/'
MEDIA_URL = ''
STATIC_ROOT = ''
STATIC_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/var/www/static/admin/'
STATICFILES_DIRS = (
'/var/www/static',
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
TEMPLATE_DIRS = ('/var/www/templates',)
**$ ls -ltr /var/www**
总共16 apache2 / access.log中的错误
[29 / Jul / 2013:13:41:36 -0500]&#34; GET /static/neatadmin/css/bootstrap.css HTTP / 1.1&#34; 404 1798 [29 / Jul / 2013:13:41:36 -0500]&#34; GET /static/neatadmin/css/jquery.fancybox.css HTTP / 1.1&#34; 404 1806 [29 / Jul / 2013:13:41:36 -0500]&#34; GET /static/neatadmin/js/jquery.js HTTP / 1.1&#34; 404 1798 [29 / Jul / 2013:13:41:36 -0500]&#34; GET /stat/neatadmin/js/jquery.metadata.js HTTP / 1.1&#34; 404 1804 [29 / Jul / 2013:13:41:36 -0500]&#34; GET /static/neatadmin/css/login.css HTTP / 1.1&#34; 404 1794 [29 / Jul / 2013:13:41:36 -0500]&#34; GET /static/neatadmin/js/error.js HTTP / 1.1&#34; 404 1794
apache2 / error.log中的错误(我认为这不是相关的,只是仅供参考)
[Mon Jul 29 13:41:29 2013] [错误] /usr/local/lib/python2.7/dist-packages/django/conf/init.py:221:弃用警告:您没有在&#39; mail_admins&#39;上定义过滤器。 logging handler:添加隐式的debug-false-only过滤器。见http://docs.djangoproject.com/en/dev/releases/1.4/#request-exceptions-are-now-always-logged [Mon Jul 29 13:41:29 2013] [错误]弃用警告) [Mon Jul 29 13:41:29 2013] [错误] [2013年7月29日星期三13:41:35] [错误] /usr/local/lib/python2.7/dist-packages/django/conf/init.py:221:DreprecationWarning:你有没有在&#39; mail_admins&#39;上定义的过滤器logging handler:添加隐式的debug-false-only过滤器。见http://docs.djangoproject.com/en/dev/releases/1.4/#request-exceptions-are-now-always-logged [Mon Jul 29 13:41:35 2013] [错误]弃用警告) [2013年7月29日13:41:35] [错误]
答案 0 :(得分:1)
您的设置会混淆STATICFILES_DIRS
和STATIC_ROOT
的目的。 STATICFILES_DIRS
包含项目的全局静态资源。这反映了TEMPLATE_DIRS
设置。该目录将包含在源存储库中。
STATIC_ROOT
是用于在生产中提供静态文件的集合点。运行STATICFILES_DIRS
时,会复制所有已安装应用和collectstatic
中的文件。这不需要为本地开发设置。此目录不会包含在repo中,因为它只包含生成的内容。您的网络服务器配置应该有一个别名,以STATIC_ROOT
STATIC_URL
为例。有关使用Apache的示例,您应该看到文档https://docs.djangoproject.com/en/stable/howto/deployment/wsgi/modwsgi/#serving-files