title: Django release 1.5: 'url' requires a non-empty first argument. The syntax changed in Django 1.5
body: <p>I started using Django release 1.5 and got a problem with my old code:</p>
  
  <pre><code>&lt;a href="{% url auto.views.viewpost post.slug %}"&gt;&lt;h3&gt;{{post.title}}&lt;/h3&gt;&lt;/a&gt;
  </code></pre>
  
  <p>Error:  'url' requires a non-empty first argument. The syntax changed in Django 1.5, see the docs.
  Docs: </p>
  
  <blockquote>
    <p>One deprecated feature worth noting is the shift to “new-style” url
    tag. Prior to Django 1.3, syntax like {% url myview %} was interpreted
    incorrectly (Django considered "myview" to be a literal name of a
    view, not a template variable named myview). Django 1.3 and above
    introduced the {% load url from future %} syntax to bring in the
    corrected behavior where myview was seen as a variable.</p>
    
    <p>The upshot of this is that if you are not using {% load url from
    future %} in your templates, you’ll need to change tags like {% url
    myview %} to {% url "myview" %}. If you were using {% load url from
    future %} you can simply remove that line under Django 1.5</p>
  </blockquote>
  
  <p>Then I tried:
   <code>&lt;a href=“{% url ‘auto.views.view_post’ post.slug %}”&gt;&lt;h3&gt;{{post.title}}&lt;/h3&gt;&lt;/a&gt;</code>
  but got error Reverse for ‘auto.views.view_post’ with arguments ‘(’',)' and keyword arguments ‘{}’ not found. :(
  What am I doing wrong?
  Thx!</p>