'url' requires a non-empty first argument. The syntax changed in Django 1.5, see the docs

时间:2014-11-19 02:14:32   收藏:0   阅读:171

Django运行时出现‘url‘ requires a non-empty first argument的解决办法:

参考了stackoverflow里面的一个帖子

I started using Django release 1.5 and got a problem with my old code:

<a href="{% url auto.views.viewpost post.slug %}"><h3>{{post.title}}</h3></a>
Error: ‘url‘ requires a non-empty first argument. The syntax changed in Django 1.5, see the docs. Docs:

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.

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



#该代码片段来自于: http://www.sharejs.com/codes/python/7007

大概意思就是说:原来写成:{%url myview%} 这样的语句在1.5以前的版本是可以通过的,
更换到1.5的版本以后要写成:{%url "myview"%}

经过测试的确如此。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!