2012-01-28 14 views
35

मेरे पास उसके प्रोग्राम में एक प्रोजेक्ट (myapp) है लेकिन मुझे स्थिर फ़ाइलों को ठीक से काम नहीं मिल रहा है। मैं इस blog post का पालन कर रहा था।हेरोकू - Django ऐप में स्थिर फाइलों को संभालना

मेरे Procfile इस तरह दिखता है:

web: python myapp/manage.py collectstatic --noinput; bin/gunicorn_django --workers=4 --bind=0.0.0.0:$PORT myapp/settings.py 

settings.py:

... 

STATIC_ROOT = os.path.join(PROJECT_PATH, 'staticfiles') 
STATIC_URL = '/static/' 
ADMIN_MEDIA_PREFIX = '/static/admin/' 

STATICFILES_DIRS = (
    # I have the static folder inside my app and not inside the project 
    os.path.join(PROJECT_PATH, 'cesar/static'), 
) 

... 

जब पुन: प्रारंभ करने का उपयोग कर heroku restart यह है कि क्या heroku logs शो है:

... 
Copying ... 

114 static files copied to '/app/myapp/staticfiles'. 
... 

लेकिन जब मैं heroku run ls -l myapp/ मैं करता हूँ

-rw------- 1 u5605 5605 0 Jan 28 16:53 __init__.py 
drwx------ 4 u5605 5605 4096 Jan 28 16:53 cesar 
-rw------- 1 u5605 5605 503 Jan 28 16:53 manage.py 
-rw------- 1 u5605 5605 6292 Jan 28 16:53 settings.py 
drwx------ 2 u5605 5605 4096 Jan 28 16:53 templates 
-rw------- 1 u5605 5605 257 Jan 28 16:53 urls.py 
-rw------- 1 u5605 5605 286 Jan 28 16:53 views.py 

मैं क्या याद आ रही है या गलत कर: staticfiles फ़ोल्डर नहीं देख सकते हैं?

+2

मैंने हाल ही में एक हेरोकू ऐप से एस 3 पर स्थैतिक फाइलों की सेवा करने पर एक विस्तृत स्पष्टीकरण लिखा है, इसे देखें - http://balzerg.blogspot.co.il/2012/09/staticfiles-on -heroku-with-django.html – idanzalz

उत्तर

39

मुझे एक समाधान मिला।

from django.conf.urls.defaults import patterns, include, url 
from django.contrib import admin 
from django.conf import settings 


admin.autodiscover() 

urlpatterns = patterns('', 
    url(r'^$', include('myapp.cesar.urls')), 
    url(r'^admin/', include(admin.site.urls)), 
) 

मैं मूल myapp/urls.py फ़ाइल के अंत में ये पंक्तियां कहा::

if not settings.DEBUG: 
    urlpatterns += patterns('', 
     (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}), 
    ) 

अब यह ठीक काम कर रहा है यह मेरा प्रारंभिक myapp/urls.py था। मुझे उम्मीद है कि यह किसी और को भी मदद करता है

+0

मैंने ऐसा करने की कोशिश की, लेकिन मैंने इस त्रुटि को मारा और मेरा ऐप दुर्घटनाग्रस्त हो गया। कोई विचार? '2012-03-23T21: 55: 57 + 00: 00 ऐप [वेब.1]: आयात त्रुटि: सेटिंग्स 'appName/settings.py' आयात नहीं कर सका (क्या यह sys.path पर है?): फ़ाइल नाम द्वारा आयात नहीं है समर्थित। –

+1

@Aswath django.conf आयात सेटिंग्स ' –

+0

से प्रयास करें http://stackoverflow.com/questions/10308985/django-on-heroku-broken-admin-static-files – Dmitry

0

शायद आपको './manage.py collectstatic' चलाने से पहले सेटिंग्स में निर्दिष्ट खाली STATIC_ROOT फ़ोल्डर मैन्युअल रूप से बनाना चाहिए।

+0

पहले से ही कोशिश की है। काम नहीं कर रहा –

संबंधित मुद्दे