如何使用gunicorn在heroku上提供django静态文件
我在Django中有一个应用程序,我在heroku上部署它但我无法在服务器上提供静态文件,下面是我的代码和设置:
settings.py DEBUG = True TEMPLATE_DEBUG = DEBUG import os PROJECT_PATH = os.path.abspath(os.path.dirname(__file__)) SITE_PATH = os.path.abspath(os.path.join(PROJECT_PATH,os.path.pardir)) STATIC_ROOT = '' STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(SITE_PATH,'staticfiles'),) STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder','django.contrib.staticfiles.finders.AppDirectoriesFinder',# 'django.contrib.staticfiles.finders.DefaultStorageFinder',) urls.py from django.conf import settings from django.conf.urls import patterns,include,url from polls.views import VoteClassBasedView from django.contrib import admin admin.autodiscover() urlpatterns = patterns('',url(r'^polls/',include('polls.urls')),url(r'^admin/',include(admin.site.urls)),) Procfile web: gunicorn django_polls.wsgi 我的本地目录结构 drwxrwxr-x 2 user1 user1 4096 Jul 5 11:48 django_polls/ -rwxr-xr-x 1 user1 user1 255 Jun 22 15:50 manage.py* drwxrwxr-x 5 user1 user1 4096 Jul 3 14:41 polls/ -rw-r--r-- 1 user1 user1 50176 Jul 5 11:41 polls.db -rw-rw-r-- 1 user1 user1 32 Jul 4 18:57 Procfile -rw-rw-r-- 1 user1 user1 338 Jun 25 18:51 README.md -rw-rw-r-- 1 user1 user1 310 Jul 4 17:09 requirements.txt drwxrwxr-x 5 user1 user1 4096 Jul 4 17:57 staticfiles/ /bootstrap /admin /polls drwxrwxrwx 3 user1 user1 4096 Jun 22 18:59 templates/ Heroku文件结构 drwx------ 2 u19068 19068 4096 2013-07-05 11:31 django_polls/ -rwx------ 1 u19068 19068 255 2013-07-05 11:28 manage.py* drwx------ 5 u19068 19068 4096 2013-07-05 11:31 polls/ -rw------- 1 u19068 19068 32 2013-07-05 11:28 Procfile -rw------- 1 u19068 19068 338 2013-07-05 11:28 README.md -rw------- 1 u19068 19068 310 2013-07-05 11:28 requirements.txt -rw------- 1 u19068 19068 13 2013-07-05 11:28 runtime.txt drwx------ 5 u19068 19068 4096 2013-07-05 11:28 staticfiles/ /bootstrap /admin /polls drwx------ 3 u19068 19068 4096 2013-07-05 11:28 templates/ 上面的代码能够在本地机器上提供css文件(实际上我与bootstrap集成),但在将它提交到heroku git hub并运行类似polls.herokuapp.com/polls/之类的url后,它正在提供html文件和整个功能,但无法提供css文件. 此外,当我运行命令foreman start时,它也提供静态(css,js)文件,但是在heroku上部署时相同的代码无法为静态文件提供服务. 谁能告诉我需要在哪些文件中进行哪些更改才能在heroku上部署Django应用程序? 请注意,我已经完成了R& D并应用了各种代码,例如在urls.py中使用django.contrib.staticfiles.urls import staticfiles_urlpatterns但无法获得解决方案. 解决方法
在部署应用程序时,首先在设置文件中更改DEBUG = FALSE.
以下链接可能很有用. https://devcenter.heroku.com/articles/django#deploy-to-heroku (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |