将值从View传递给控制器​​并显示在模板中

时间:2016-10-19 03:11:19

标签: html angularjs django

我需要将数据库字段中的最新值传递给控制器​​。我也在进行某些关于从控制器视图中获得的值的计算。我不知道如何使用视图中的值到控制器。我是django的新手。任何帮助,将不胜感激。以下是我的代码,

在我的views.py

class SiverifyAddReviewView(JSONResponseMixin, TemplateView):
        template_name = "siverify_add_review.html"

def get_context_data(self,*args, **kwargs):
            latest_id = SiverifyVerificationSiteRevision.objects.order_by('-id').first().id
            context = super(SiverifyAddReviewView, self).get_context_data(*args, **kwargs)
            print 'latest_id', latest_id
            context['reviewtit'] = 'Review_' + latest_id + '_' + time.strftime(%Y%m%d)
            context['ngapp'] = 'ReviewMod'
            return context

在下面的行中,SiverifyVerificationSiteRevision是型号名称,我需要字段ID的最新值。

l_id = SiverifyVerificationSiteRevision.objects.latest('id')

这是从模型中获取最新值的正确方法吗?而对于控制器,我需要执行以下功能。

控制器:

{{ngapp}}.controller(
        "SiVerifyAddReviewController",
        function($scope, $http, $modalInstance, r_header, context){
$scope.today= function dat() {
                    var d = new Date();
                    return 'Review_' + **l_id** + ((d.getFullYear() + ' ' + (d.getMonth() + 1) + ' ' + d.getDate()).replace(/ /g, ''));}
            $scope.arform['revtitle']= $scope.today();}

与return语句( l_id )一样,我需要从视图中获取最新值并进入模板。我的模板代码是,

模板:

<tr>
              <td><label>Review Title/Purpose*</label></td></br>
              <td><input type="text" class="col-md-10" maxlength="256" ng-model="arform.revtitle" required/></td>
          </tr>

我确信应该有办法从视图中获取值到控制器,我已经经历了几个问题标记,例如从View传递值到Controller。但它们似乎都与我的需求无关。欢迎任何方法。谢谢。

1 个答案:

答案 0 :(得分:1)

您是否需要最新的日期或最新的插入数据库?那有点不同。

def get_context_data(self, **kwargs):

   latest_id = SiverifyVerificationSiteRevision.objects.latest('date').id  # `latest` method works on date fields.

   # This one gives you latest ID by insert.
   # latest_id = SiverifyVerificationSiteRevision.objects.order_by('-id').first().id

   kwargs['latest_id'] = latest_id
   kwargs['ngapp'] = 'ReviewMod'

   return kwargs