如何从外部应用程序扩展视图?

时间:2012-02-27 23:41:40

标签: django django-views django-users

我有一个django项目,它使用来自外部应用程序的视图。视图显示表单但不保存用户。我希望能够记住这个用户,以便授予他另一个视图的权限。如何扩展外部应用程序的视图,以便保存填写此表单的用户?

例如: 用户A填写表单以发布作业。用户B和C适用于此作业。我想向用户A显示已申请职位的人(用户B和C),但前提是用户A确实是职位发布的创建者。

我希望我有道理。

2 个答案:

答案 0 :(得分:1)

这通常是不可行的。您应该考虑重新编写视图,如果合适的话,将其修补到原始应用程序中。

答案 1 :(得分:0)

您可以考虑的一些选项:

  1. 确保外部应用程序没有可以使用的“Django信号”。
  2. 如果“外部应用程序”来自您的项目,您可以从另一个应用程序调用一个函数,如“手动挂钩”
  3. 如果不是来自您的项目,但它是“基于类的视图”,您可以继承并仅覆盖您需要的方法,并重用父方法调用“super”,如果您愿意的话。
  4. 如果外部应用程序不是来自您的项目,则不建议修改,那么您可以执行Ignacio所说的内容。
  5. 这是不正常的,但也许你可以在新的重写视图后调用视图
  6. 我希望这可以帮助您重用功能。

相关问题