title: TypeError: 'NoneType' object is not subscriptable followed by AttributeError: 'NoneType' object has no attribute 'split'
body: <p>Using django. I have the following model:</p>
  
  <pre><code>class Postagem(models.Model):
  id = models.AutoField(primary_key=True, editable=False)
  descricao = models.CharField(max_length=50)
  area = models.ForeignKey('core.Area', null=True)
  user = models.ForeignKey('User')
  categoria = models.CharField(max_length=50, null=True)
  post = models.FileField(upload_to='posts/', null=True)
  thumbnail = models.FileField(upload_to='posts/', null=True)
  
  
  def __str__(self):
      return self.descricao
  </code></pre>
  
  <p>The Following form:</p>
  
  <pre><code>class PostForm(forms.ModelForm):
  categoria = forms.ChoiceField(choices=[("Video","Vídeo"),("Audio","Aúdio"),("Imagem","Imagem"),("Musica","Música")], required=True)
  thumbnail = forms.FileField(required=False)
  
  class Meta:
      model = Postagem
      fields = ['descricao', 'area', 'user', 'post']
  </code></pre>
  
  <p>View:</p>
  
  <pre><code>def profileView(request):
  context = getUserContext(request)
  
  if request.method == 'POST':
      exception=None
      userDict = {}
      userDict["user"] = context["user"].id    
      if "categoria" in request.POST:
          newPost = request.POST.copy()
          newPost.update(userDict)
          form = PostForm(newPost,request.FILES)
          print("postform POST: ",newPost, " File ",request.FILES)
          if form.is_valid():
              print("valid")
              try:
                  form.save()
                  print("saved")
                  return HttpResponseRedirect(reverse_lazy('accounts:profile'))
              except IntegrityError as e:
                  print("Integrity Error")
                  exception=e            
          else:
              print("PostForm error")
              print(form.errors)
  
      form.non_field_errors=form.errors
      if exception is not None:
          form.non_field_errors.update(exception)
      context['form']=form
  
  posts = Postagem.objects.get_queryset().order_by('id')
  paginator = Paginator(posts, 12)
  page = request.GET.get('page')
  context["areas"] = Area.objects.all()   
  try:
      posts = paginator.page(page)
  except PageNotAnInteger:
      # If page is not an integer, deliver first page.
      posts = paginator.page(1)
  except EmptyPage:
      # If page is out of range (e.g. 9999), deliver last page of results.
      posts = paginator.page(paginator.num_pages)
  
  context["posts"]=posts
  
  return render(
      request,
      'accounts/profile.html',
      context
  )
  </code></pre>
  
  <p>And at last the template:</p>
  
  <pre><code> {% for post in posts %}
          {% if forloop.counter0|divisibleby:4 or forloop.counter0 == 0 %}    
          &lt;div id="grid-profile" class="row grid"&gt;
              &lt;div class="col-md-1"&gt;&lt;/div&gt;
          {% endif %}
  
              {% ifnotequal post.categoria "Imagem"%}
              &lt;iframe id=post{{forloop.counter}} width="420" height="315"
                  src={{post.post.url}}&gt;
              &lt;/iframe&gt;
              {% else %}
              &lt;div class="col-md-2"&gt;
                  &lt;button type="button" id="modal1trigger" data-toggle="modal" data-target="#modal1"&gt;&lt;img class="img-responsive" src={{post.post.url}}&gt;&lt;/img&gt;&lt;/button&gt;
              &lt;/div&gt;
              {% endifnotequal %}
  
          {% if forloop.counter|divisibleby:4 or forloop.counter == posts|length %} 
              &lt;div class="col-md-1"&gt;&lt;/div&gt;
          &lt;/div&gt;
          {% endif %}
          {% endfor %}
          &lt;div class="pagination"&gt;
              &lt;span class="step-links"&gt;
                  {% if posts.has_previous %}
                      &lt;a href="?page={{ posts.previous_page_number }}"&gt;previous&lt;/a&gt;
                  {% endif %}
  
                  &lt;span class="current"&gt;
                      Page {{ posts.number }} of {{ posts.paginator.num_pages }}.
                  &lt;/span&gt;
  
                  {% if posts.has_next %}
                      &lt;a href="?page={{ posts.next_page_number }}"&gt;next&lt;/a&gt;
                  {% endif %} 
              &lt;/span&gt;
          &lt;/div&gt;
  </code></pre>
  
  <p>I cut some of the template... Anyways, I want to be able to add all kinds of posts. Songs, Videos, Images, Docs, etc. And it IS working. The posts are being added. But, I'm having a recurring error and I don't know why. That could be very dangerous so I started looking into it, but with no luck in finding an acceptable answer. <strong>The error only happens when trying to get a song or a video.</strong></p>
  
  <pre><code>    [21/Sep/2017 23:32:44] "GET /media/posts/13567830_1641362072853439_1924036772_n.mp4 HTTP/1.1" 200 1171456
  Traceback (most recent call last):
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 138, in run
      self.finish_response()
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 180, in finish
  _response
      self.write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 279, in write
      self._write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 453, in _write
  
      result = self.stdout.write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\socketserver.py", line 775, in write
      self._sock.sendall(b)
  ConnectionResetError: [WinError 10054] Foi forçado o cancelamento de uma conexão existente pelo host remoto
  [21/Sep/2017 23:32:44] "GET /media/posts/13567830_1641362072853439_1924036772_n.mp4 HTTP/1.1" 500 59
  ----------------------------------------
  Exception happened during processing of request from ('127.0.0.1', 53113)
  Traceback (most recent call last):
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 138, in run
      self.finish_response()
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 180, in finish
  _response
      self.write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 279, in write
      self._write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 453, in _write
  
      result = self.stdout.write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\socketserver.py", line 775, in write
      self._sock.sendall(b)
  ConnectionResetError: [WinError 10054] Foi forçado o cancelamento de uma conexão existente pelo host remoto
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 141, in run
      self.handle_error()
    File "C:\Users\eduardo\Envs\ProExC\lib\site-packages\django\core\servers\basehttp.py", line 88, in handle_erro
  r
      super(ServerHandler, self).handle_error()
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 368, in handle
  _error
      self.finish_response()
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 180, in finish
  _response
      self.write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 274, in write
      self.send_headers()
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 331, in send_h
  eaders
      if not self.origin_server or self.client_is_modern():
    File "c:\users\eduardo\appdata\local\programs\python\python36-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\eduardo\appdata\local\programs\python\python36-32\Lib\socketserver.py", line 639, in process_re
  quest_thread
      self.finish_request(request, client_address)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\socketserver.py", line 361, in finish_req
  uest
      self.RequestHandlerClass(request, client_address, self)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\socketserver.py", line 696, in __init__
      self.handle()
    File "C:\Users\eduardo\Envs\ProExC\lib\site-packages\django\core\servers\basehttp.py", line 155, in handle
      handler.run(self.server.get_app())
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 144, in run
      self.close()
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\simple_server.py", line 35, in cl
  ose
      self.status.split(' ',1)[0], self.bytes_sent
  AttributeError: 'NoneType' object has no attribute 'split'
  ----------------------------------------
  [21/Sep/2017 23:32:44] "GET /media/posts/03_-_The_Mute.mp3 HTTP/1.1" 200 1179648
  Traceback (most recent call last):
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 138, in run
      self.finish_response()
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 180, in finish
  _response
      self.write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 279, in write
      self._write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 453, in _write
  
      result = self.stdout.write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\socketserver.py", line 775, in write
      self._sock.sendall(b)
  ConnectionResetError: [WinError 10054] Foi forçado o cancelamento de uma conexão existente pelo host remoto
  [21/Sep/2017 23:32:44] "GET /media/posts/03_-_The_Mute.mp3 HTTP/1.1" 500 59
  ----------------------------------------
  Exception happened during processing of request from ('127.0.0.1', 53114)
  Traceback (most recent call last):
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 138, in run
      self.finish_response()
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 180, in finish
  _response
      self.write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 279, in write
      self._write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 453, in _write
  
      result = self.stdout.write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\socketserver.py", line 775, in write
      self._sock.sendall(b)
  ConnectionResetError: [WinError 10054] Foi forçado o cancelamento de uma conexão existente pelo host remoto
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 141, in run
      self.handle_error()
    File "C:\Users\eduardo\Envs\ProExC\lib\site-packages\django\core\servers\basehttp.py", line 88, in handle_erro
  r
      super(ServerHandler, self).handle_error()
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 368, in handle
  _error
      self.finish_response()
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 180, in finish
  _response
      self.write(data)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 274, in write
      self.send_headers()
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 331, in send_h
  eaders
      if not self.origin_server or self.client_is_modern():
    File "c:\users\eduardo\appdata\local\programs\python\python36-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\eduardo\appdata\local\programs\python\python36-32\Lib\socketserver.py", line 639, in process_re
  quest_thread
      self.finish_request(request, client_address)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\socketserver.py", line 361, in finish_req
  uest
      self.RequestHandlerClass(request, client_address, self)
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\socketserver.py", line 696, in __init__
      self.handle()
    File "C:\Users\eduardo\Envs\ProExC\lib\site-packages\django\core\servers\basehttp.py", line 155, in handle
      handler.run(self.server.get_app())
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\handlers.py", line 144, in run
      self.close()
    File "c:\users\eduardo\appdata\local\programs\python\python36-32\Lib\wsgiref\simple_server.py", line 35, in cl
  ose
      self.status.split(' ',1)[0], self.bytes_sent
  AttributeError: 'NoneType' object has no attribute 'split'
  ---------------------------------------
  </code></pre>
  
  <p><strong>Edit:</strong></p>
  
  <p>Using Django 1.11.3,
  Windows 10,
  Tested with Opera and Chrome,
  Running server using gulp</p>
  
  <p>**Edit 2: **</p>
  
  <p>Hey, the error <strong>ONLY HAPPENS</strong> if there is a iframe tag in the html!!</p>