'模块'对象没有属性' X'

时间:2014-12-12 20:15:29

标签: python django

我有Python / Django项目设置,我有以下名为adwords_utils.py的辅助模块,其结构如下:

from django.conf import settings
from googleads import adwords
import csv
import currency_helper
import logging
import sys
import StringIO

def GetDataFromCsv(path, exchangeRates, managedAccount):

def GetPerformanceReport(cid, reportType, reportFields, dateRangeType, minDate, maxDate):

def GetAmountFromMicros(micros):

def GetManagedAccounts(managerId):

然后以下列方式在我的views.py中使用它:

from django.shortcuts import render_to_response
from django.http import HttpResponse
from django.conf import settings
import adwords_utils

def account_hierarchy(request):
  manager_ids = settings.MANAGER_IDS
  managed_accounts = []
  for manager_id in manager_ids:
    managed_accounts.extend(adwords_utils.GetManagedAccounts(manager_id))
  if len(managed_accounts) > 0:
    for managed_account in managed_accounts:
      client_id = managed_account.customerId
      report_type = 'ACCOUNT_PERFORMANCE_REPORT'
      report_fields = ['ExternalCustomerId', 'CustomerDescriptiveName', 'Date', 'Cost']
      report_date_type = 'CUSTOM_DATE'
      report_start_date = '20141201'
      report_end_date = '20141211'
      adwords_utils.GetPerformanceReport(client_id, report_type, report_fields, report_date_type, report_start_date, report_end_date)

  return render_to_response('simple-table.html', {"managed_accounts": managed_accounts})

有问题的属性包括:adwords_utils.GetManagedAccountsadwords_utils.GetPerformanceReport

正如您所看到的,辅助模块并未声明一个类,因为这些方法不是特定于类的,并且它们旨在用作辅助方法。不确定问题出在哪里。

完成追溯:

Environment:


Request Method: GET
Request URL: http://104.236.122.5/account-hierarchy/

Django Version: 1.6.1
Python Version: 2.7.6
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'reporting')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  112.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/django/django_project/reporting/views.py" in account_hierarchy
  12.       managed_accounts.extend(adwords_utils.GetManagedAccounts(manager_id))

Exception Type: AttributeError at /account-hierarchy/
Exception Value: 'module' object has no attribute 'GetManagedAccounts'

0 个答案:

没有答案