kas*_*llo 24 django django-templates django-1.5
我正在尝试将旧的django应用程序迁移到django 1.5,这样有不同的html文件中有745个URL:
{% url url_name %}
Run Code Online (Sandbox Code Playgroud)
如果我没看错,这个被废弃,不能从Django的1.5再使用(如说这里),我要所有的人都变成:
{% url 'url_name' %}
Run Code Online (Sandbox Code Playgroud)
有没有想过这样做而不会发疯?也许,某种脚本,我不知道......我无法想象用路径替换它的方法.
我可能错过了一些明显的东西.
Enr*_*ico 39
注意:此命令具有破坏性.在运行之前使用版本控制或备份模板目录.
你可以使用sed.从您的模板目录(或目录)运行
sed -i -r -e "s#\{% url ([a-zA-Z0-9_.:-]+)#\{% url '\1'#g" *
Run Code Online (Sandbox Code Playgroud)
表达式匹配{% url [view name]
,因此提供给url模板标记的参数将不受影响/未更改.
要递归地运行它,
find . -type f -print0 | xargs -0 sed -i -r -e "s#\{% url ([a-zA-Z0-9_.:-]+)#\{% url '\1'#g"
Run Code Online (Sandbox Code Playgroud)
此sed命令假定您的视图名称仅包含字母数字,冒号,破折号,句点和下划线 - 没有其他特殊字符.现在支持命名空间视图.
测试了这个Django 1.4 url模板标签Gist中的标签
归档时间: |
|
查看次数: |
3144 次 |
最近记录: |