2015-11-02 8 views
9

मुझे हेरोोकू में बनाई गई एक साधारण वेबसाइट की मेजबानी करने में कुछ समस्याएं आ रही हैं। वेबसाइट मेज़ानाइन का उपयोग करके बनाई गई थी और व्हाइटनोइज़ और गनिकॉर्न का उपयोग करती है। समस्या यह है: मुझे कुछ स्थिर संसाधनों में 404 त्रुटि मिल रही है, जैसे सीएसएस और जेएस। आप http://blrg-advogados.herokuapp.com पर समस्याएं देख सकते हैं।मेज़ानाइन - हेरोकू में सीएसएस और जेएस लोड नहीं कर सकता

यह Procfile सामग्री है:

ALLOWED_HOSTS = ['*'] 
DEBUG = False 
PROJECT_APP_PATH = os.path.dirname(os.path.abspath(__file__)) 
PROJECT_APP = os.path.basename(PROJECT_APP_PATH) 
PROJECT_ROOT = BASE_DIR = os.path.dirname(PROJECT_APP_PATH) 
CACHE_MIDDLEWARE_KEY_PREFIX = PROJECT_APP 
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage' 
STATIC_ROOT = 'staticfiles' 
STATIC_URL = '/static/' 

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'), 
) 

MEDIA_URL = STATIC_URL + "media/" 
MEDIA_ROOT = os.path.join(PROJECT_ROOT, *MEDIA_URL.strip("/").split("/")) 
ROOT_URLCONF = "%s.urls" % PROJECT_APP 
TEMPLATE_DIRS = (os.path.join(PROJECT_ROOT, "templates"),) 

यूआरएल:

web: python manage.py collectstatic --noinput; gunicorn --workers=4 site_advogados.wsgi 0.0.0.0:$PORT 

wsgi.py

import os 

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "site_advogados.settings") 

from django.core.wsgi import get_wsgi_application 
from whitenoise.django import DjangoWhiteNoise 

application = get_wsgi_application() 
application = DjangoWhiteNoise(application) 

और यहाँ settings.py का कुछ हिस्सा है .py इस तरह है:

from __future__ import unicode_literals 
from django.conf.urls import patterns, include, url 
from django.conf.urls.i18n import i18n_patterns 
from django.contrib import admin 
from mezzanine.core.views import direct_to_template 
from mezzanine.conf import settings 
from views import contato 

admin.autodiscover() 

urlpatterns = i18n_patterns("", 
         ("^admin/", include(admin.site.urls)), 
         ) 

if settings.USE_MODELTRANSLATION: 
    urlpatterns += patterns('', 
         url('^i18n/$', 'django.views.i18n.set_language', name='set_language'), 
         ) 

urlpatterns += patterns('', 
        url("^$", direct_to_template, {"template": "index.html"}, name="home"), 
        url(r'^contato/$', contato, name='contato'), 
        ("^", include("mezzanine.urls")), 
        ) 

handler404 = "mezzanine.core.views.page_not_found" 
handler500 = "mezzanine.core.views.server_error" 

प्रवेश करें:

2015-12-27T12:44:56.109833+00:00 app[web.1]: Traceback (most recent call last): 
2015-12-27T12:44:56.109850+00:00 app[web.1]:  self.handle_request(listener, req, client, addr) 
2015-12-27T12:44:56.109851+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 171, in handle_request 
2015-12-27T12:44:56.109852+00:00 app[web.1]:  respiter = self.wsgi(environ, resp.start_response) 
2015-12-27T12:44:56.109853+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/whitenoise/base.py", line 119, in __call__ 
2015-12-27T12:44:56.109854+00:00 app[web.1]:  return self.application(environ, start_response) 
2015-12-27T12:44:56.109855+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 189, in __call__ 
2015-12-27T12:44:56.109855+00:00 app[web.1]:  response = self.get_response(request) 
2015-12-27T12:44:56.109857+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py", line 175, in get_response 
2015-12-27T12:44:56.109858+00:00 app[web.1]:  response = self.get_exception_response(request, resolver, 404) 
2015-12-27T12:44:56.109858+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py", line 90, in get_exception_response 
2015-12-27T12:44:56.109861+00:00 app[web.1]:  return callback(request, **param_dict) 
2015-12-27T12:44:56.109863+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/mezzanine/core/views.py", line 222, in server_error 
2015-12-27T12:44:56.109861+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py", line 110, in _wrapped_view 
2015-12-27T12:44:56.109859+00:00 app[web.1]:  response = self.handle_uncaught_exception(request, resolver, sys.exc_info()) 
2015-12-27T12:44:56.109862+00:00 app[web.1]:  response = view_func(request, *args, **kwargs) 
2015-12-27T12:44:56.109860+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py", line 268, in handle_uncaught_exception 
2015-12-27T12:44:56.109864+00:00 app[web.1]:  return HttpResponseServerError(t.render(context)) 
2015-12-27T12:44:56.109864+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/backends/django.py", line 74, in render 
2015-12-27T12:44:56.109865+00:00 app[web.1]:  return self.template.render(context) 
2015-12-27T12:44:56.109866+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 209, in render 
2015-12-27T12:44:56.109866+00:00 app[web.1]:  return self._render(context) 
2015-12-27T12:44:56.109867+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 201, in _render 
2015-12-27T12:44:56.109868+00:00 app[web.1]:  return self.nodelist.render(context) 
2015-12-27T12:44:56.109869+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 903, in render 
2015-12-27T12:44:56.109870+00:00 app[web.1]:  bit = self.render_node(node, context) 
2015-12-27T12:44:56.109870+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 917, in render_node 
2015-12-27T12:44:56.109871+00:00 app[web.1]:  return node.render(context) 
2015-12-27T12:44:56.109872+00:00 app[web.1]:  return compiled_parent._render(context) 
2015-12-27T12:44:56.109872+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/loader_tags.py", line 135, in render 
2015-12-27T12:44:56.109874+00:00 app[web.1]:  return self.nodelist.render(context) 
2015-12-27T12:44:56.109873+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 201, in _render 
2015-12-27T12:44:56.109875+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 903, in render 
2015-12-27T12:44:56.109875+00:00 app[web.1]:  bit = self.render_node(node, context) 
2015-12-27T12:44:56.109878+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/templatetags/static.py", line 105, in render 
2015-12-27T12:44:56.109876+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 917, in render_node 
2015-12-27T12:44:56.109877+00:00 app[web.1]:  return node.render(context) 
2015-12-27T12:44:56.109878+00:00 app[web.1]:  url = self.url(context) 
2015-12-27T12:44:56.109879+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/templatetags/staticfiles.py", line 16, in url 
2015-12-27T12:44:56.109880+00:00 app[web.1]:  return static(path) 
2015-12-27T12:44:56.109882+00:00 app[web.1]:  return staticfiles_storage.url(path) 
2015-12-27T12:44:56.109881+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/templatetags/staticfiles.py", line 9, in static 
2015-12-27T12:44:56.109884+00:00 app[web.1]:  hashed_name = self.stored_name(clean_name) 
2015-12-27T12:44:56.109883+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py", line 131, in url 
2015-12-27T12:44:56.109884+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py", line 280, in stored_name 
2015-12-27T12:44:56.109885+00:00 app[web.1]:  cache_name = self.clean_name(self.hashed_name(name)) 
2015-12-27T12:44:56.109886+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py", line 94, in hashed_name 
2015-12-27T12:44:56.109886+00:00 app[web.1]:  (clean_name, self)) 
2015-12-27T12:44:56.109887+00:00 app[web.1]: ValueError: The file 'img/favicon.ico' could not be found with <whitenoise.django.GzipManifestStaticFilesStorage object at 0x7f6dc4a1e2d0>. 
2015-12-27T12:44:56.329261+00:00 app[web.1]: [2015-12-27 12:44:56 +0000] [15] [ERROR] Error handling request 
2015-12-27T12:44:56.329266+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 130, in handle 
2015-12-27T12:44:56.329265+00:00 app[web.1]: Traceback (most recent call last): 
2015-12-27T12:44:56.329268+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 171, in handle_request 
2015-12-27T12:44:56.329267+00:00 app[web.1]:  self.handle_request(listener, req, client, addr) 
2015-12-27T12:44:56.329270+00:00 app[web.1]:  respiter = self.wsgi(environ, resp.start_response) 
2015-12-27T12:44:56.329272+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/whitenoise/base.py", line 119, in __call__ 
2015-12-27T12:44:56.329287+00:00 app[web.1]:  return self.application(environ, start_response) 
2015-12-27T12:44:56.329288+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 189, in __call__ 
2015-12-27T12:44:56.329288+00:00 app[web.1]:  response = self.get_response(request) 
2015-12-27T12:44:56.329289+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py", line 175, in get_response 
2015-12-27T12:44:56.329290+00:00 app[web.1]:  response = self.get_exception_response(request, resolver, 404) 
2015-12-27T12:44:56.329290+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py", line 90, in get_exception_response 
2015-12-27T12:44:56.329292+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py", line 268, in handle_uncaught_exception 
2015-12-27T12:44:56.329291+00:00 app[web.1]:  response = self.handle_uncaught_exception(request, resolver, sys.exc_info()) 
2015-12-27T12:44:56.329292+00:00 app[web.1]:  return callback(request, **param_dict) 
2015-12-27T12:44:56.329293+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py", line 110, in _wrapped_view 
2015-12-27T12:44:56.329293+00:00 app[web.1]:  response = view_func(request, *args, **kwargs) 
2015-12-27T12:44:56.329294+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/mezzanine/core/views.py", line 222, in server_error 
2015-12-27T12:44:56.329295+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/backends/django.py", line 74, in render 
2015-12-27T12:44:56.329294+00:00 app[web.1]:  return HttpResponseServerError(t.render(context)) 
2015-12-27T12:44:56.329296+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 209, in render 
2015-12-27T12:44:56.329295+00:00 app[web.1]:  return self.template.render(context) 
2015-12-27T12:44:56.329297+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 201, in _render 
2015-12-27T12:44:56.329296+00:00 app[web.1]:  return self._render(context) 
2015-12-27T12:44:56.329297+00:00 app[web.1]:  return self.nodelist.render(context) 
2015-12-27T12:44:56.329297+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 903, in render 
2015-12-27T12:44:56.329298+00:00 app[web.1]:  bit = self.render_node(node, context) 
2015-12-27T12:44:56.329298+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 917, in render_node 
2015-12-27T12:44:56.329299+00:00 app[web.1]:  return node.render(context) 
2015-12-27T12:44:56.329299+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/loader_tags.py", line 135, in render 
2015-12-27T12:44:56.329300+00:00 app[web.1]:  return compiled_parent._render(context) 
2015-12-27T12:44:56.329306+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 201, in _render 
2015-12-27T12:44:56.329307+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 903, in render 
2015-12-27T12:44:56.329307+00:00 app[web.1]:  return self.nodelist.render(context) 
2015-12-27T12:44:56.329308+00:00 app[web.1]:  return node.render(context) 
2015-12-27T12:44:56.329307+00:00 app[web.1]:  bit = self.render_node(node, context) 
2015-12-27T12:44:56.329308+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/template/base.py", line 917, in render_node 
2015-12-27T12:44:56.329310+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/templatetags/staticfiles.py", line 16, in url 
2015-12-27T12:44:56.329309+00:00 app[web.1]:  url = self.url(context) 
2015-12-27T12:44:56.329313+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py", line 94, in hashed_name 
2015-12-27T12:44:56.329308+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/templatetags/static.py", line 105, in render 
2015-12-27T12:44:56.329314+00:00 app[web.1]: ValueError: The file 'img/favicon.ico' could not be found with <whitenoise.django.GzipManifestStaticFilesStorage object at 0x7f6dc4a1e2d0>. 
2015-12-27T12:44:56.329310+00:00 app[web.1]:  return static(path) 
2015-12-27T12:44:56.329313+00:00 app[web.1]:  cache_name = self.clean_name(self.hashed_name(name)) 
2015-12-27T12:44:56.329312+00:00 app[web.1]:  hashed_name = self.stored_name(clean_name) 
2015-12-27T12:44:56.329312+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py", line 280, in stored_name 
2015-12-27T12:44:56.329314+00:00 app[web.1]:  (clean_name, self)) 
2015-12-27T12:44:56.329311+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py", line 131, in url 
2015-12-27T12:44:56.329311+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/templatetags/staticfiles.py", line 9, in static 
2015-12-27T12:44:56.329311+00:00 app[web.1]:  return staticfiles_storage.url(path) 
2015-12-27T12:44:56.330945+00:00 heroku[router]: at=info method=GET path="/favicon.ico/" host=blrg-advogados.herokuapp.com request_id=3c54ce79-8686-42a9-a335-f217abb8d6f2 fwd="177.36.203.24" dyno=web.1 connect=2ms service=31ms status=500 bytes=244 

मेरे प्रोजेक्ट फ़ोल्डर इस तरह है:

Project layout

और कलेक्ट स्थिर के उत्पादन में यह है:

Running python manage.py collectstatic --noinput on blrg-advogados... up, run.4811 
Traceback (most recent call last): 
File "manage.py", line 14, in <module> 
execute_from_command_line(sys.argv) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 351, in execute_from_command_line 
utility.execute() 
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 343, in execute 
self.fetch_command(subcommand).run_from_argv(self.argv) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 394, in run_from_argv 
self.execute(*args, **cmd_options) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 445, in execute 
output = self.handle(*args, **options) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 168, in handle 
collected = self.collect() 
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 98, in collect 
for path, storage in finder.list(self.ignore_patterns): 
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/finders.py", line 112, in list 
for path in utils.get_files(storage, ignore_patterns): 
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/utils.py", line 28, in get_files 
directories, files = storage.listdir(location) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/files/storage.py", line 300, in listdir 
for entry in os.listdir(path): 
OSError: [Errno 2] No such file or directory: '/app/site_advogados/static' 

जैसा कि आप कल्पना कर सकते हैं, जब मैं DEBUG = True सेट करता हूं, यह सही ढंग से काम करता है, लेकिन जैसा कि मैं उत्पादन वातावरण का परीक्षण करना चाहता हूं, मुझे DEBUG = गलत का उपयोग करने की आवश्यकता है। मैं क्या गलत कर रहा हूँ?

+0

क्या आपके urls.py में है? – 1844144

+0

@ 1844144 प्रश्न urls.py – brevleq

उत्तर

3

हर बार जब आप अपना वेब डिनो शुरू करते हैं तो आपको collectstatic चलाने की आवश्यकता नहीं है। heroku run python manage.py collectstatic --noinput का आउटपुट क्या है?

the heroku docs के माध्यम से देख रहे हैं, यह स्पष्ट नहीं है कि आप इस चरण को प्रदर्शन किया है:

Django स्वचालित रूप से लक्षित निर्देशिका कि collectstatic का उपयोग करता है, तो हम अपने भंडार को एक डमी फ़ाइल जोड़ने की सलाह देते नहीं बनाएगा, के रूप में यहाँ देखा

+0

के साथ अद्यतन किया गया था मैंने एक लॉग जोड़ा है – brevleq

0

आपकी स्थिर फ़ाइल कॉन्फ़िगरेशन टूटा हुआ है। STATIC_ROOT को /some/absolute/path/ जैसे एक पूर्ण पथ होने की आवश्यकता है। TEMPLATE_DIRS सेटिंग पुरानी है, मान लीजिए कि आप Django 1.8 पर हैं, आप इसके बजाय टेम्पलेट निर्देश का उपयोग कर सकते हैं। APP_DIRS विकल्प django सभी स्थापित अनुप्रयोग dirs में टेम्पलेट निर्देशिकाओं के लिए देखो बनाता है। DIR विकल्प का उपयोग कर अतिरिक्त निर्देशिकाओं को एक सूची के रूप में जोड़ा जा सकता है।

यह settings.py शायद की तरह (मैं अपनी परियोजनाओं dir लेआउट की जरूरत है सुनिश्चित करने के लिए चाहते हैं) देखना चाहिए कि कैसे: इस विन्यास संग्रह के साथ

ALLOWED_HOSTS = ['*'] 
DEBUG = False 
PROJECT_APP_PATH = os.path.dirname(os.path.abspath(__file__)) 
PROJECT_APP = os.path.basename(PROJECT_APP_PATH) 
BASE_DIR = os.path.dirname(PROJECT_APP_PATH) 
CACHE_MIDDLEWARE_KEY_PREFIX = PROJECT_APP 
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage' 
# This is the path where Django will store the collected files 
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') 
STATIC_URL = '/static/' 
# STATICFILES_DIRS must contain the absolut path to your static resources 
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'), 
    # add more paths with static files here 
) 

MEDIA_URL = STATIC_URL + "media/" 
MEDIA_ROOT = os.path.join(BASE_DIR, *MEDIA_URL.strip("/").split("/")) 
ROOT_URLCONF = "%s.urls" % PROJECT_APP 

TEMPLATES = [{ 
    'BACKEND': 'django.template.backends.django.DjangoTemplates', 
    'APP_DIRS': True, 
    # Additional directories to look for templates 
    'DIRS': [some_template_directory,], 
}] 

और स्थिर फ़ाइलों की सेवा करने चाहिए काम।यदि यह काम नहीं करता है, तो कृपया अन्य परियोजनाओं में पूछे गए अनुसार, अपनी प्रोजेक्ट निर्देशिका संरचना और heruko run manage.py collectstatic --noinput कमांड के आउटपुट पर अतिरिक्त जानकारी प्रदान करें।

अंतिम लेकिन कम से कम नहीं, आपका डीबग एप्लिकेशन कभी भी इंटरनेट से उपलब्ध नहीं होना चाहिए। दुर्भावनापूर्ण इरादे वाले लोग डीबग संदेशों से आपके सेटअप के बारे में बहुत कुछ सीख सकते हैं।

सादर, मार्सेल Meissner

+0

मैंने एक लॉग जोड़ा है – brevleq

+0

क्या आप अपनी परियोजना निर्देशिका लेआउट का विवरण जोड़ सकते हैं? संग्रहित आदेश के आउटपुट के अलावा, आपके द्वारा प्रदान किए गए लॉग में केवल बंदूक उत्पन्न संदेश शामिल हैं। –

+0

मैंने अनुरोध की गई जानकारी को जोड़ा है ... – brevleq

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