我正在尝试自定义django_comments
应用程序(github repo,docs)。你知道吗
默认的get_form_target()
返回django_comments.views.post_comment
,这是一个基于函数的视图。post_comment()
依次将HttpRedirectResponse
返回到next
的值(如果指定)或默认确认页。你知道吗
请参阅默认的post\u comment()实现here。你知道吗
我需要给post_comment()
添加几行逻辑。我可以重写它到它仍然执行默认实现的地方,但是使用额外的逻辑吗?我可以复制原始代码并对其进行修改,但仅仅添加几行自定义逻辑就感觉有很多代码重复。你知道吗
这取决于你的逻辑发生在什么地方,相对于当前的
post_comment()
。如果您只是想在post_comment()
之前做些什么,那么只需复制一个指向现有func的指针,创建func,并在末尾调用原始func即可。最后,您可以通过将您的函数分配给另一个模块的post_comment()
来MonkeyPatch它。你知道吗OTOH,如果你想做的是改变当前函数中发生的事情,那么你可能需要复制一个代码,然后MonkeyPatch如上所述。你知道吗
注意:即使有好的评论警告人们这是在做什么,MonkeyPatching代表着一个维护定时炸弹只是等待在某个不方便的时间在未来。你知道吗
相关问题 更多 >
编程相关推荐