4

有什么方法可以禁止从 Django 模板中NoReverseMatch的标签抛出异常url(只是让它静默失败,返回一个空字符串或 smth ......当然,为了开发,暂时)?

(我正在做一个 Django 项目,就事情的组织而言,它有点乱(一群远程工作人员、承包商以及本地团队,有许多重叠的任务分配给不同的人,甚至是前端和后端-最终工作往往会作为同一任务的一部分混在一起......)我真的需要忽略/隐藏/禁用NoReverseMatch模板标签抛出的url内容,以便有效地完成我的工作而不是最终做其他人为了能够做我的工作......

4

2 回答 2

10

另一种方法是 using {% url ... as var %},它不会引发异常(如文档中所述),但也不会将 url 呈现为内联。

你需要替换这个:

<a href="{% url somepage %}">

有了这个:

{% url somepage as var %}
<a href="{{ var }}">

根据您必须使用的模板数量,这可能是也可能不是更好的解决方案。

于 2012-11-03T13:50:28.677 回答
0

最简单/最快的方法是更新 django 的url标签以静默失败。

def url(parser, token):您可以在in上更新函数定义<your_django_path>/templatetags/future.py以包含所有代码,try ... except并且在有任何异常时不引发异常。

但是,这是我能想到的最快的破解方法,我不确定是否有更好的解决方案。

于 2012-11-03T09:45:17.393 回答