解决'url' requires a non-empty first argument

一个项目,在Django1.3,Django1.4中运行都不会出现问题,在Django1.5中运行却出现了如下的错误信息:

'url' requires a non-empty first argument

上网搜了下,问题出在html文件里。再一看,stackoverflow里面早已经有这样的问题。{%url myview%} 这样的语句在1.5以前的版本是可以通过的,更换到1.5的版本以后要写成:{%url "myview"%}。 解决方案如下:给html文件中的{%url worda wordb wordc%}这样的东西中的worda(也就是url后面的第一个单词)加上引号。

好吧。
我承认上面的答案让一些人不满意,他们有很多的html文件要修改,他们说难道你让我一个一个去敲去改吗?
哦,你真的不用一个一个去找,这个可以用Ctrl – F找。哦,他们说难道你让我一个一个找到去改吗?!
哦,到这份上了我也不难为你了,你难道就没有从Ctrl – F中想到一些什么吗?
对——正则表达式:

find . -type f -print0 | xargs -0 sed -i 's/ url \([^" >][^ >]*\)/ url "\1"/g'

哦,多么酣畅淋漓的一个sed脚本!不过记得在对文件进行改动之前首先备份,然后,在你的templates文件夹,对——就是存放网页的那个文件夹——里面,执行这个正则表达式吧。

打赏

点赞