【问题标题】:Passing data from a method to a class then returning value in another method将数据从方法传递到类,然后在另一个方法中返回值
【发布时间】:2016-12-09 10:27:39
【问题描述】:

问题我如何将 get_sheet_header 类中的值传递给另一个方法,基本上我想设置一个 HTML 响应头和我的 pk,然后将它放到另一个方法中,我使用任何帮助将不胜感激,任何问题请告诉我知道。

这是我目前所拥有的

views.py

**#here is where I want to pass the value to my get_sheet_header class** 

def update_sheet(request, pk=None): 
    obj = get_object_or_404(Sheet, pk=pk) 
    form = SheetUpdateForm(request.POST or None, 
                        request.FILES or None, instance=obj) 
    if request.method == 'POST': 
        if form.is_valid(): 
           form.save() 
           return redirect('sheet_update.html') 


    response = render(request, 'app/sheet_update.html', 
      { 
         'sheet_form': form, 
         'title':'Update Sheet', 
      }) 
    response['SHEET_ID'] = pk 
    get_sheet_header.sheet_header(get_sheet_header(pk)) 
    return response 

**#here is my get_sheet_header class** 

class get_sheet_header(object): 
   def __init__(self, s_id): 
     self.s_id = s_id 

   def sheet_header(self): 
      s = self.s_id 
      return s 

**#here is where I want to use the value that the above returns ^** 

def add_dimensions(request, pk): 
  pk = get_sheet_header() #this should be the return value from my get_sheet_header class 

【问题讨论】:

  • 你的类 get_sheet_header 看起来更像一个函数而不是一个类。您可能希望该类成为 SheetHeader 或 Sheet 本身。
  • 当 sheet_header 被定义为成员方法时,您似乎正在尝试将其用作静态方法?见stackoverflow.com/q/735975/2800918

标签: python django python-2.7


【解决方案1】:

只需创建类的直接实例,然后调用方法。

tmp_obj = get_sheet_header(obj)
pk = tmp_obj.sheet_reader()

【讨论】:

    【解决方案2】:

    所以不要像我一样让这个过于复杂。我决定简化它并以这种方式执行它并且它有效:)。

    def update_sheet(request, pk=None):
      blahh blah...
      global = SHEET_HEADER_ID
    
      SHEET_HEADER_ID = pk 
    
    
    def add_dimension(request, pk):
       pk = SHEET_HEADER_ID 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-02
      • 2017-12-16
      • 2015-12-27
      • 2022-11-29
      • 2018-12-24
      • 1970-01-01
      • 2013-01-29
      相关资源
      最近更新 更多