我很清楚地说明我的问题。遗憾。
基本上,我有许多功能非常相似的视图功能。部分原因是使用reverse
。但是,每个视图函数都执行不同的reverse
,因此我无法在新的“通用视图”中逐个编写它们。那太疯狂了。
当时,我正在努力减少我正在编写的重复代码的数量(超过500行重复!!!!!)
为了解决这个问题,我有一些辅助函数,其中一个是在给出的任何视图函数和任何传递给辅助函数的args上评估reverse
。
def render_reverse(f, args):
return eval(...)
但eval
是邪恶的,而且很慢。是eval
的替代品吗?在Django中解决这个问题的更好方法是什么?
感谢。
答案 0 :(得分:0)
为什么首先需要eval
?只需正常拨打reverse()
吗?
return reverse(f, *args)
The *
lets you unpack the argument list into actual args.
那就是说,为什么你需要这个助手呢?为什么不将return reverse(...
放在您的视图中?