2013-11-19 7 views
0

Моего Джанго сайта работает нормально, но когда я устанавливаю DEBUG=False он посылает по электронной почте мне со следующей ошибкой:Джанго NoReverseMatch при Debug = False

NoReverseMatch: Reverse for 'django.views.static.serve' with arguments '('',)' and keyword arguments '{}' not found.

Я поставил ALLOWED_HOSTS=['*'] и не решен.

Сайт администратора работает отлично.

Любая идея?

EDIT:

После некоторого копания я нашел эту ошибку тоже:

File "/srv/mysite/myapp/views.py", line 38, in home 
    { 'request': request}, context_instance=RequestContext(request)) 

это на моем домашнем зрении:

def home(request): 

    return render_to_response('index.html', { 'request': request}, context_instance=RequestContext(request))  
+0

См [развертывания раздел] (https://docs.djangoproject.com/en/1.6/howto/static-files/#deployment) в документации статических файлов. –

+0

Моя статика работает нормально .... – Walucas

+0

У вас есть STATIC_ROOT = "/ var/www/example.com/static/"в ваших настройках.py –

ответ

0

Идея добавления static.serve для статических файлов является общим неправильным. Все, что вам сделать, это:

import os 
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 

STATIC_URL = '/static/' 

так you'r файлы доступны из http://server_addr/static/ и {{ STATIC_URL }} в шаблонах

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

это порождает отл. '/ Дом/mcabra/DEV/проект/project_dir/статический /' - моя статика развития здесь

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

это для производства manage.py collectstatic копии измененных файлы из STATICFILES_DIRS в STATIC_ROOT (так что готов к экс минификации.).

Затем вы используете веб-сервер, такой как Nginx, для обслуживания статических файлов от STATIC_ROOT. Django defult WSGI веб-сервер предназначен только для целей разработки. см .: Django Gunicorn.

Надеюсь, я помог.

EDIT:
из (https://docs.djangoproject.com/en/dev/howto/static-files/)
«обслуживающих файлы
В дополнении к этим шагам конфигурации, вы также должны фактически обслуживать статические файлы

Во время разработки, если вы. используйте django.contrib.staticfiles, это будет выполняться автоматически с помощью сервера запуска, когда DEBUG установлен в значение True (см. django.contrib.staticfiles.views.serve()). "

+0

спасибо, МакАбра, ты привел меня к решениям с информацией – Walucas

0

Вы все были правы, и у меня была проблема со статическими файлами.

Я просто добавил этот код на urls.py и он обслуживал файлы.

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

Tks

Смежные вопросы