2013-11-20 62 views
5

Thỉnh thoảng khi tôi nhìn vào thiết bị đầu cuối của mình, tôi thấy lỗi bên dưới, bất kỳ ai có thể vui lòng cho tôi biết y đang hiển thị và cách tránh không?lỗi: [Errno 32] Ống bị hỏng django

Exception happened during processing of request from ('127.0.0.1', 39444) 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/SocketServer.py", line 582, in process_request_thread 
    self.finish_request(request, client_address) 
    File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request 
    self.RequestHandlerClass(request, client_address, self) 
    File "/home/comp/Envs/proj/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 150, in __init__ 
    super(WSGIRequestHandler, self).__init__(*args, **kwargs) 
    File "/usr/lib/python2.7/SocketServer.py", line 640, in __init__ 
    self.finish() 
    File "/usr/lib/python2.7/SocketServer.py", line 693, in finish 
    self.wfile.flush() 
    File "/usr/lib/python2.7/socket.py", line 303, in flush 
    self._sock.sendall(view[write_offset:write_offset+buffer_size]) 
error: [Errno 32] Broken pipe 
+1

Kiểm tra câu trả lời được bình chọn nhiều nhất http://stackoverflow.com/questions/7912672/django-broken-pipe-in-debug-mode – danielcorreia

Trả lời

2

Điều này có thể do bạn đang sử dụng hai phương pháp để chèn dữ liệu vào cơ sở dữ liệu và điều này làm cho trang web chậm lại.

def add_subscriber(request, email=None): 
    if request.method == 'POST': 
     email = request.POST['email_field'] 
     e = Subscriber.objects.create(email=email).save() <==== 
     return HttpResponseRedirect('/') 
    else: 
     return HttpResponseRedirect('/') 

ví dụ: trong lỗi chức năng ở trên là nơi mũi tên đang trỏ tới cách đúng để thực hiện ở trên là

def add_subscriber(request, email=None): 
    if request.method == 'POST': 
     email = request.POST['email_field'] 
     e = Subscriber.objects.create(email=email) 
     return HttpResponseRedirect('/') 
    else: 
     return HttpResponseRedirect('/') 
3

Bạn nhận được lỗi đó do hai trong số các lý do sau. Bạn có thể thấy cùng một vấn đề do các nguyên nhân khác

1-You're thiếu / vào cuối url của bạn và bạn có thể sửa chữa nó bằng cách cố định bằng cách thêm "/" vào cuối URL mà bạn yêu cầu

2-Bạn thực hiện một số yêu cầu sau đó nhanh chóng dừng lại. Giống như gọi url, sau đó hủy cuộc gọi và gọi một url khác. Kiểm tra nơi bạn thực hiện cuộc gọi của mình (JavaScript hoặc chương trình phụ trợ) và đảm bảo bạn gọi url mà không cần hủy.

+0

Điều này không cung cấp câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ tác giả, hãy để lại nhận xét bên dưới bài đăng của họ. –

+0

Đã thêm thông tin. Tôi hy vọng không ai chỉnh sửa câu trả lời của tôi. – Ahmed

Các vấn đề liên quan