小编jak*_*car的帖子

Angularjs依赖注入解决

我想使用适当的依赖注入MyCtrl1来注入MyCtrl1.resolve对象的字段.我尝试了许多不同的尝试注射@MyCtrl1.resolve等组合,没有运气.

@MyCtrl1 = ($scope, $http, batman, title) ->
  $scope.batman = batman.data
  $scope.title = title.data

@MyCtrl1.resolve = {
 batman: ($http) ->
   $http.get('batman.json')
 title: ($http) ->
   $http.get('title.json')
}
#@MyCtrl1.$inject = ['$scope', '$http'] -- commented out because not sure how to inject resolve fields

 angular
.module( 'app', [])
.config( ['$routeProvider', '$locationProvider', ($routeProvider, $locationProvider)->
  $locationProvider.html5Mode(true)

  $routeProvider.when('/', {templateUrl: 'index.html', controller: MyCtrl1, resolve: MyCtrl1.resolve})
  $routeProvider.otherwise({redirectTo: '/'})
])

angular.bootstrap(document,['app'])
Run Code Online (Sandbox Code Playgroud)

coffeescript angularjs angular-routing

12
推荐指数
1
解决办法
2万
查看次数

使用ModelForm编辑模型实例会创建新实例而不是更新

我正在尝试创建一个允许用户编辑模型实例的视图(在这种情况下是一个事件).不幸的是,提交此表单会创建一个新实例(带有新ID),甚至不会删除旧实例.我的印象是在这种情况下save方法应该更新实例...

注意:EventForm是一个ModelForm

我已尝试使用force_update arg按https://docs.djangoproject.com/en/dev/ref/models/instances/#forcing-an-insert-or-update,但没有骰子.我也试过删除form.is_valid()块中的原始事件(通过调用event.delete())但是......没有骰子.

我觉得这commit=False是问题吗?我不确定!

谢谢.

(请忽略代码段中的间距问题)

def edit_event(request, event_id):
 event = Event.objects.get(pk=event_id)  

 if request.method == 'POST':
     post_data = request.POST.copy()

     # here is some validation that can't be done in the ModelForm...

     #form = EventForm(post_data, request.FILES, instance=event)
     form = EventForm(post_data, request.FILES)

     if form.is_valid():

         edited_event = form.save(commit=False)

         edited_event.save(force_update=True) # doesn't work with or without force_update arg

         #form.save_m2m() # needed for ManyToMany relationship

         return HttpResponseRedirect('/events/view/%s' % edited_event.id)
  else:
      form = EventForm(instance=event)

return render_to_response('create_event.html', {'form': …
Run Code Online (Sandbox Code Playgroud)

django django-models django-forms

4
推荐指数
2
解决办法
6068
查看次数

递归函数不能正常工作

我很难弄清楚这里出了什么问题:

class iterate():
    def __init__(self):
        self.length=1
    def iterated(self, n):
        if n==1:
            return self.length
        elif n%2==0:
            self.length+=1
            self.iterated(n/2)
        elif n!=1:
            self.length+=1
            self.iterated(3*n+1)
Run Code Online (Sandbox Code Playgroud)

例如,

x=iterate()
x.iterated(5)
Run Code Online (Sandbox Code Playgroud)

输出None。它应该输出 6 因为长度看起来像这样:5 --> 16 --> 8 --> 4 --> 2 --> 1

进行一些调试后,我看到self.length正确返回,但递归中出现问题。我不太确定。谢谢你的帮助。

python recursion

1
推荐指数
1
解决办法
4152
查看次数