データベースのテーブル名に基づいてナビゲーションバーを作成している時点でダッシュボードを作成しています(この部分はすべて問題ありません)。 views.pyでFlask HTMLモジュールへのアクセスViews.py関数の属性
は私がしている(編集:はviews.pyの残りの部分を追加した):
from flask import render_template
from app import app
import sqlite3, json
@app.route('/')
@app.route('/index')
def index():
return render_template('index.html',title='Homepage',)
def nav_bar():
connection = sqlite3.connect('C:\\SQLite\\Databases\\testPython.db')
cursor = connection.cursor()
cursor.execute('SELECT NAME FROM sqlite_master WHERE TYPE = \'table\';')
#ORDER BY NAME ASC
#tableNames = cursor.fetchall()
connection.close()
tableNames = json.dumps(cursor.fetchall()).replace("\"], [\"", " ").replace("[[\"","").replace("\"]]","").replace("access_","").split()
return tableNames
私はコードがあるnavigation.htmlのナビゲーション作成しました -
を編集{% for names in navBar.tableNames %}
<h1>Test</h1>
{% endfor %}
:ここはbase.html
<html>
<head>
<title>{{ title }} - Dashboard</title>
</head>
<body style="margin: 0; padding: 0;">
<div style="height:7%; background-color: #171819;"><a href="/" style="color: white; vertical-align: middle; text-decoration: none; font-family: Sans-serif; font-size: 20px; position: relative; transform: translateY(-50%); top: 35%; padding-left: 5%">Access Log Dashboard >>></a></div>
<div class="container">
<div class="column-left" style="float: left; width: 15%; background-color: #3c3f42; height: 93%">
{% include 'navigation.html' %}
</div>
<div class="column-centre" style="display: inline-block; width: 80%; color: #3c3f42;">
{% block content %}
{% endblock %}
</div>
</div>
</body>
</html>
です
navigation.htmlからviews.pyの属性にアクセスするにはどうすればよいですか?申し訳ありませんが、これがnewbyの質問であれば、私はそれを仮定します!
from flask import render_template
from app import app
import sqlite3, json
@app.route('/')
@app.route('/index')
def index():
table_names = nav_bar()
return render_template('base.html',title='Homepage',table_names = table_name)
def nav_bar():
connection = sqlite3.connect('C:\\SQLite\\Databases\\testPython.db')
cursor = connection.cursor()
cursor.execute('SELECT NAME FROM sqlite_master WHERE TYPE = \'table\';')
#ORDER BY NAME ASC
#tableNames = cursor.fetchall()
connection.close()
table_names = json.dumps(cursor.fetchall()).replace("\"], [\"", " ").replace("[[\"","").replace("\"]]","").replace("access_","").split()
return table_names
してから、このようなあなたのテンプレートにそれを呼び出す:あなたは、テーブル名を渡す必要がある最初の
あなたを送ることができますviews.pyの質問を追加してください。 –
@EspoirMurhabaziは、あなたが求めているのであれば、views.pyの追加ビットを追加しましたか? – askand