0
クラスにはテンプレートが接続されています。その中には2つの関数があります.1つはユーザーを認証するためのもので、もう1つは実際にはいくつかのデータを取得し、それを私のテンプレートにプッシュします。しかし、print('whatever')
を使用すると、クラスを呼び出すときにどちらの関数も呼び出されないことがわかります。どうして?クラスベースビュー内で2つの関数を呼び出す - Django
views.py
class GenerateReport(TemplateView): # This view is responsable to access users data and return it
template_name = 'ga_app/report.html'
def generate_report(request): # authenticate user
c = CredentialsModel.objects.get(user_id = request.user.id)
credentials = c.credentials
http = httplib2.Http()
http = credentials.authorize(http)
service = build('analyticsreporting', 'v4', http=http)
print('This first function is not called')
def print_data(request): # Get some data
profile_id = GoogleProperty.objects.get(user_id = request.user.id)
some_data = service.data().ga().get(
ids='ga:' + profile_id,
start_date='7daysAgo',
end_date='today',
metrics='ga:sessions').execute()
print('This second function neither')
return render(request, self.report, {'some_data': some_data}, {'profile_id': profile_id})
urls.py
url(r'^re/$', GenerateReport.as_view(), name='re'),
シェルは明らかに何かがプリントアウトさを示していない、とテンプレートはmetrics
および/またはprofile_id