title: Django - app.views.add didn't return an HttpResponse object -
body: <p>This is my view add in the file views.py </p>
  
  <pre><code>def add(request):
  #se usaran las categorias para esto,se pasaran en locals()
  categorias = Categoria.objects.all()
  if request.method == "POST":
      form = EnlaceForm(request.POST)
      if form is valid():
          form.save()
          return HttpResponseRedirect("/")
      else:
          form = EnlaceForm()
  
      template = "form.html"
      return render_to_response(template, 
                              context_instance = RequestContext(request,locals()))
  </code></pre>
  
  <p>This is my file urls.py in the which I define the "add" url </p>
  
  <pre><code>from django.conf.urls import patterns, include, url
  from django.contrib import admin
  admin.autodiscover()
  
  urlpatterns = patterns('',
      # Examples:
      #url(r'^$', 'app.views.hora_actual', name='hora_actual'),
      url(r'^$', 'app.views.home', name='home'),
      url(r'^minus/(\d+)$', 'app.views.minus', name='minus'),
      url(r'^plus/(\d+)$', 'app.views.plus', name='plus'),
      url(r'^categoria/(\d+)$', 'app.views.categoria', name='categoria'),
      url(r'^add/$','app.views.add', name="add"),
  
  # url(r'^proyecto2/', include('proyecto2.foo.urls')),
  
  # Uncomment the admin/doc line below to enable admin documentation:
      url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
  
  # Uncomment the next line to enable the admin:
      url(r'^admin/', include(admin.site.urls)),
  </code></pre>
  
  <p>)</p>
  
  <p>In the template "form.html" the token {% csrf_token %} and the {{form.as_p}} check that the form was valid </p>
  
  <pre><code>&lt;section id="contenido"&gt;
       &lt;form method="post"&gt;
      &lt;div id="form"&gt;
        {% csrf_token %}
      {{form.as_p}}
      &lt;input type="submit"&gt;
   &lt;/form&gt;
  &lt;/div&gt;
  &lt;/section&gt;
  </code></pre>
  
  <p>But, when I call the url in the browser 127:0.0.1:8000/add , I get this response or output:</p>
  
  <pre><code>ValueError at /add/
  
  The view app.views.add didn't return an HttpResponse object.
  Request Method: GET
  Request URL:    http://127.0.0.1:8000/add/
  Django Version: 1.5.2
  Exception Type: ValueError
  Exception Value:    
  The view app.views.add didn't return an HttpResponse object.
  Exception Location: C:\Python27\lib\site-packages\django\core\handlers\base.py in get_response, line 133
  Python Executable:  C:\Python27\python.exe
  Python Version: 2.7.5
  Python Path:    
  ['C:\\django-projects\\tests\\proyecto2',
  'C:\\Python27\\lib\\site-packages\\setuptools-0.9.6-py2.7.egg',
  'C:\\Python27\\python27.zip',
  'C:\\Python27\\DLLs',
  'C:\\Python27\\lib',
  'C:\\Python27\\lib\\plat-win',
  'C:\\Python27\\lib\\lib-tk',
  'C:\\Python27',
  'C:\\Python27\\lib\\site-packages',
  'C:\\Python27\\lib\\site-packages\\win32',
  'C:\\Python27\\lib\\site-packages\\win32\\lib',
  'C:\\Python27\\lib\\site-packages\\Pythonwin',
  'C:\\Python27\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg-info']
   Server time:   Thu, 12 Sep 2013 13:16:44 -0500
  
   Traceback Switch to copy-and-paste view
  
   C:\Python27\lib\site-packages\django\core\handlers\base.py in get_response
                  raise ValueError("The view %s.%s didn't return an HttpResponse object."    % (callback.__module__, view_name)) ...
   ▶ Local vars
  </code></pre>
  
  <p>I knew that all function based view receive an request object and return an HttpRespose Object, but, what is the difference between HttpResponse and render_to_response object</p>
  
  <p>In that sense, I don't what could be my problem. Thanks for your help.</p>