簡體   English   中英

Django(Python)AttributeError:'NoneType'對象沒有屬性'split'

[英]Django(Python) AttributeError: 'NoneType' object has no attribute 'split'

我訪問帖子頁面時遇到奇怪的錯誤。 我制作了一個可以發布圖像和視頻的Web應用程序。 使用圖像它工作正常,但當我發布視頻並轉到其頁面時,服務器給我以下輸出:

Traceback (most recent call last):
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 138, in run
    self.finish_response()
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 180, in finish_response
    self.write(data)
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 279, in write
    self._write(data)
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 453, in _write
    self.stdout.write(data)
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\socket.py", line 593, in write
    return self._sock.send(b)
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine
[15/May/2016 13:50:09] "GET /media/uploads/Big_Buck_Bunny_Final.mp4 HTTP/1.1" 500 59

----------------------------------------

Exception happened during processing of request from ('127.0.0.1', 23943)
[15/May/2016 13:50:09] "GET /static/image/video-poster.jpg HTTP/1.1" 304 0
Traceback (most recent call last):
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 138, in run
    self.finish_response()
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 180, in finish_response
    self.write(data)
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 279, in write
    self._write(data)
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 453, in _write
    self.stdout.write(data)
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\socket.py", line 593, in write
    return self._sock.send(b)
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 141, in run
    self.handle_error()
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\site-packages\django\core\servers\basehttp.py", line 92, in handle_error
    super(ServerHandler, self).handle_error()
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 368, in handle_error
    self.finish_response()
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 180, in finish_response
    self.write(data)
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 274, in write
    self.send_headers()
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 331, in send_headers
    if not self.origin_server or self.client_is_modern():
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 344, in client_is_modern
    return self.environ['SERVER_PROTOCOL'].upper() != 'HTTP/0.9'
TypeError: 'NoneType' object is not subscriptable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\socketserver.py", line 628, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\socketserver.py", line 357, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\site-packages\django\core\servers\basehttp.py", line 99, in __init__
    super(WSGIRequestHandler, self).__init__(*args, **kwargs)
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\socketserver.py", line 684, in __init__
    self.handle()
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\site-packages\django\core\servers\basehttp.py", line 179, in handle
    handler.run(self.server.get_app())
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\handlers.py", line 144, in run
    self.close()
  File "C:\Users\Slavko\AppData\Local\Programs\Python\Python35-32\lib\wsgiref\simple_server.py", line 35, in close
    self.status.split(' ',1)[0], self.bytes_sent
AttributeError: 'NoneType' object has no attribute 'split'

圖像和視頻的代碼是相同的,這就是為什么我不明白這一點。 這是我的查看功能,當您訪問帖子頁面時使用:

def post_info(request, pk):
    form = CommentForm(request.POST or None)
    post = get_object_or_404(Post, pk=pk)
    same_author_posts = Post.objects.filter(author=post.author)
    if request.method == 'POST':
        if form.is_valid():
            instance = form.save(commit=False)
            instance.author = request.user
            instance.post = post
            instance.save()
            form = CommentForm()
            messages.success(request, 'Comment is approved!')
            return HttpResponseRedirect('/post/%s/'%(pk))
        else:
            messages.error(request, 'Comment is not valid!')
            return HttpResponseRedirect('/post/%s/'%(pk))
    context = {
        'form': form,
        'post': post,
        'same_author_posts': same_author_posts,
    }
    return render(request, 'post/post_info.html', context)

可能它在響應中有狀態代碼,但為什么它不會在加載圖像時顯示它以及如何修復它?

嘗試在禁用防火牆/防病毒的情況下運行它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM