【问题标题】:Pass Value from View to controller and display in template将值从视图传递到控制器并在模板中显示
【发布时间】:2017-02-28 12:12:56
【问题描述】:

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

在我看来.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();}

与返回语句(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>

我确定应该有一种方法可以将值从视图传递到控制器,我已经经历了几个问题标签,例如将值从视图传递到控制器。但它们似乎都与我的需要无关。欢迎任何方法。谢谢。

【问题讨论】:

    标签: html angularjs django


    【解决方案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
    

    【讨论】:

    • 'id' 是 db 中 SiverifyVerificationSiteRevision 表中的一个字段。我需要从数据库中获取 id 字段的最新值并包含在下面的函数中。我已经在函数指定的控制器中获得了今天的日期。我的最终目标是在我在问题中提到的模板中获取“Review_id(db 中的最新值)_today's date”。
    • 这不是我问的 :) 看看我的代码。带有latest_id 的未注释行将为您提供按日期最新的对象的 ID。注释行 — 最新插入数据库中。
    • 我需要插入最新的 ID。将使用注释行。我可以直接在我的控制器中使用“latest_id”吗? return 'Review_' + l_id + ((d.​​getFullYear() + ' ' + (d.getMonth() + 1) + ' ' + d.getDate()).replace(/ /g , ''));}
    • return 'Review_' + **latest_id**+ ((d.​​getFullYear() + ' ' + (d.getMonth() + 1) + ' ' + d.getDate())。替换(/ /g, ''));}
    • {{ latest_id }} — 是的,到时候它会在上下文中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多