安装新应用并触摸现有应用后,是否可以根据现有应用更改行为?

时间:2014-08-16 00:32:43

标签: django django-views

让我们举两个应用程序的例子:

  • 库存
  • StockBalance

首先开发IceCream,所有视图都是使用通用的基于类的视图创建的 - SListView,SCreateView,SDetailView,SUpdateView和SDeleteView。 URL映射如下:

  • / stock / - SListView
  • / stock / new - SCreateView
  • / stock /(id) - SDetailView
  • / stock /(id)/ edit - SUpdateView
  • / stock /(id)/ delete - SDeleteView

后来正在开发StockBalance。无需触摸Stock应用程序中的代码,如何更改每个视图的行为? Django的常用方法是什么?

我想要的是:

  • 当用户访问/库存/新时,他将能够创建具有初始库存余额的新库存。
  • 当用户访问/ stock /(id)时,他将能够阅读股票详细信息以及库存余额。

1 个答案:

答案 0 :(得分:1)

您可以在Stock股票前面插入StockBalance的URL映射。这样可以确保Django首先找到这些URL,从而可以完全重新实现(继承/覆盖/等)这些视图的功能。

所以:

  • / stock / new =由新应用
  • 实施
  • / stock / {id} =由新应用
  • 实施
  • / stock / ... =所有其他人,如前所述