Django怎么这么慢?errno 32坏管道?dcramer-django-sentry-?静态文件夹?

9 投票
3 回答
8884 浏览
提问于 2025-04-16 16:45

我一直在Ubuntu 10.10上用Python 2.6和Django 1.3。现在我有三个问题。

  1. 我记得在之前用Django的时候,在Windows 7上也遇到过这个问题。不过我也记得刚开始用Django的时候,这个问题并没有出现。

当我通过 127.0.0.1:8000 访问Django时,刚开始一个新项目,我能打开网站,但有时候要等10到20秒,有时候甚至更久。而且在一个我几乎没怎么动过的项目上,我也遇到同样的问题,还出现了这样的错误:

Exception happened during processing of request from ('127.0.0.1', 47758)
Traceback (most recent call last):
  File "/usr/lib/python2.6/SocketServer.py", line 283, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python2.6/SocketServer.py", line 309, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.6/SocketServer.py", line 322, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/lib/python2.6/dist-packages/Django-1.3-py2.6.egg/django/core/servers/basehttp.py", line 570, in __init__
    BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
  File "/usr/lib/python2.6/SocketServer.py", line 618, in __init__
    self.finish()
  File "/usr/lib/python2.6/SocketServer.py", line 661, in finish
    self.wfile.flush()
  File "/usr/lib/python2.6/socket.py", line 297, in flush
    self._sock.sendall(buffer(data, write_offset, buffer_size))
error: [Errno 32] Broken pipe
  1. 另外,每当我遇到错误时,我希望 dcramer的django-sentry 能把错误记录到数据库里,但当我去MySQL检查表的时候,什么都没有。我按照网站上的说明安装了这个应用。

  2. 我在我的urls.py文件里放了这个:

    url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/home/user/apache2/www/django/ecomstore/static',})
    

但是,当我去 127.0.0.1:8000/static/css.css 时,我找不到我放在文件夹里的那个文件。我到底做错了什么?

谢谢大家的帮助!

3 个回答

0

你有没有在设置里把 STATIC_URL 设置为 '/static/' 呢?

4

这些错误是因为客户端在完全发送所有数据之前就关闭了连接(我认为是这样的)。

在某些地方,比如这里,Sentry 目前无法记录异常。我们希望在 Sentry 2.0 中能改善这个问题。

7

这个问题在这里也有讨论: Django + WebKit = 断开的管道

撰写回答