我是django的新手,我需要完成的任務是AngularJs到老式web 1.0 django應用程序(適用於舊版瀏覽器)的一個端口。有一個我正在處理的未知數,並且是與$ scope在角度相關的函數。我不知道如何在Django中複製該邏輯。移植到DJango Web(1.0)風格:從Django調用函數模板
一個例子是(在角):
<div ng-show="isAuthorizedAs('Administrator')"></div>
然後在控制器:
$scope.isAuthorizedAs = function(functionalRole) {
if($scope.user.role == 'basic'){
if(functionalRole == 'basic') return true
}
else if($scope.user.role == 'advanced'){
if(functionalRole == 'basic') return true
if(functionalRole == 'advanced') return true
}
else if($scope.user.role == 'administrator'){
if(functionalRole == 'basic') return true
if(functionalRole == 'advanced') return true
if(functionalRole == 'administrator') return true
}
return false
}
要點是,控制器或者具有複雜的邏輯(即在一個模型的工作或多種型號)或特殊格式。我意識到這些可能是非最佳用例,並且上面的JavaScript函數留下了很多不足之處 - 但兩個目標都在我的直接執行路徑中。
我的目標是在一週內完成此功能 - 而且不希望與AngularJs模板/應用程序有很大差異。因此,我願意承認我交付的非最佳解決方案 - 然後在未來的日期重新考慮。
謝謝
什麼問題你面對?你可以隨時檢查一個用戶是否是管理員,或者甚至有一個模型方法。當前用戶對象始終可用於模板。你可以檢查並顯示該div。這是Web框架的標準程序。即使Angular也在這樣做。那'ng-show'並不神奇。它背後有相同的工作流程。你在找什麼? –
如何從django框架中調用自定義函數。以上是一個用例,但有很多。我在問這是如何在Django中完成的?我是否需要將函數粘貼到對象中並將其傳遞給渲染器?有另一種方法嗎?什麼是最好的方法? – akaphenom
TBH,聽起來像我,你甚至沒有嘗試在Django做到這一點。 –