我的django网站运行正常,但是当我设置DEBUG=False
时,它会向我发送一封电子邮件,其中包含以下错误:
NoReverseMatch:反转' django.views.static.serve'有参数 '('',)'和关键字参数' {}'没找到。
我设置ALLOWED_HOSTS=['*']
并且它没有解决。
管理网站运行正常。
有什么想法吗?
修改:
经过一番挖掘后,我发现了这个错误:
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 :(得分:0)
为静态文件添加static.serve
的想法非常错误。你所做的就是:
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATIC_URL = '/static/'
因此,您可以从http://server_addr/static/
和{{ STATIC_URL }}
模板
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'project_dir', 'static'),
)
这会产生ex。 '/ home / mcabra / dev / project / project_dir / static /' - 我的开发静态在这里
STATIC_ROOT = os.path.join(BASE_DIR, '..', 'static')
这是针对生产manage.py collectstatic
将修改过的文件从STATICFILES_DIRS
复制到STATIC_ROOT
(因此它已准备好进行缩小)。
然后使用像Nginx这样的Web服务器来提供来自STATIC_ROOT
的静态文件。 Django defult WSGI Web服务器仅用于开发目的。见:Django Gunicorn。
希望我帮助过。
修改强>
来自(https://docs.djangoproject.com/en/dev/howto/static-files/)
“提供文件
除了这些配置步骤之外,您还需要实际提供静态文件。
在开发期间,如果使用django.contrib.staticfiles,当 DEBUG设置为True 时,这将由runserver自动完成(请参阅django.contrib.staticfiles.views.serve())。 “
答案 1 :(得分:0)
你们都是对的,我的静态文件有问题。
我刚刚在urls.py上添加了此代码,并提供了文件。
urlpatterns += patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT}))
韩国社交协会