前提・実現したいこと
YoutubeAPIを使い、webサイトを作りたいと思いFlaskの勉強をしています。
今のコードでは同じ情報が四回出力されるだけなのですが、変数を複数定義するとどうしてもコードが長くなり見づらく、表示させたい情報が増えたときの対応も大変になると思います。
HTMLのコード内で、for文が回るたびに変数「num」の数値を増加させるコードを書くことは可能なのか教えてほしいです。
該当のソースコード
Python
1from flask import Flask, render_template, url_for 2from googleapiclient.discovery import build 3 4app = Flask(__name__) 5DEVELOPER_KEY = "APIキー" 6YOUTUBE_API_SERVICE_NAME = "youtube" 7YOUTUBE_API_VERSION = "v3" 8youtube = build(YOUTUBE_API_SERVICE_NAME,YOUTUBE_API_VERSION,developerKey=DEVELOPER_KEY) 9 10members = "UCp6993wxpyDPHUpavwDFqgg",\ 11 "UCDqI2jOz0weumE8s7paEk6g",\ 12 "UC-hM6YJuNYVAmUWxeIr9FeA",\ 13 "UC5CwaMl1eIgY8h02uZw7u8A" 14 15num=0 16responce = youtube.channels().list(part="snippet,statistics,contentDetails",id=members[num]).execute() 17input = responce["items"][0]["snippet"]["title"] + "総視聴回数:"+responce["items"][0]["statistics"]["viewCount"] + "チャンネル登録者数:"+responce["items"][0]["statistics"]["subscriberCount"] 18 19 20@app.route('/') 21def index(): 22 return render_template('index.htm', input=input, members=members) 23 24if __name__ == "__main__": 25 app.run(debug=True)
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>Document</title> 8 <link rel="stylesheet" href="{{ url_for('static',filename='index.css') }}"> 9</head> 10<body> 11 <header> 12 <h1>テスト</h1> 13 </header> 14 15 <main class="main"> 16 <div> 17 <ul> 18 {% for member in members %} 19 <Li>{{input}}</Li> 20 {% endfor %} 21 </ul> 22 </div> 23 </main> 24<html>
補足情報(FW/ツールのバージョンなど)
Python 3.9.7
Flask 1.1.2
回答1件
あなたの回答
tips
プレビュー