1
基於Django管理站點文檔...我可以重寫ModelAdmin.add_view以注入一個自定義視圖。我需要注入一個TemplateView來覆蓋一個模型更改/添加管理頁面。Django將TemplateView傳遞給ModelAdmin.add_view
此自定義視圖將包含一個AngularJS應用程序,用於在管理員內部管理我的應用程序的一個複雜模型。
admin.py
class ContractAdmin(admin.ModelAdmin):
def add_view(self, request, form_url='', extra_context=None):
return ContractAdminView.???? (.as_view() doesn't work)
# ContractAdminView is a TemplateView.
PS:這是一個很好的方式來增加動力的形式/頁內Django管理的AngularJS?
謝謝@catavaran。只有另一個小提示。我需要開發一個添加/更改管理頁面,它有很多表單域和一個angularjs(小應用程序),只能計算某些字段的值並更新另一個字段的值......或者我需要加載只有在用戶選擇了另一個FKField後才需要一些FKField。 我可以開發一個完整的angularjs/rest api堆棧(不含django格式);或者我可以使用Django ModelForm,我可以在模板中手動渲染以將ng-model指令添加到任何,並使其與角度保持同步。你認爲什麼是正確的做法? – 2015-02-11 08:52:18
對不起,我從來沒有使用AngularJS,所以不能在這裏提出任何建議。 – catavaran 2015-02-11 08:59:17
無論如何,謝謝。 現在我試圖用我的FormVIew覆蓋'admin/change_form.html'模板,但是我得到: NoReverseMatch at/admin/my_django_app/contract/add /「爲'app_list'反轉參數'()'和關鍵字參數'{u'app_label':''}'找不到。「 管理員文檔說:「你渲染的任何視圖使用管理模板,或擴展基本管理模板,應該提供current_app參數給RequestContext或上下文」... – 2015-02-11 09:12:31