我一直在學習一門課程,我想將我的資料源從 sqlite 更改為 mssql。
我已經建立連接,并且正在嘗試列出我的資料庫中的用戶。但是當我這樣做時,我得到的結果顯示如下:
<Users 2>
<Users 3>
而不是顯示實際的用戶資料。
我已經將代碼上傳到 git:

import urllib
import os
import pyodbc
from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import create_engine
from flask import Flask, render_template, url_for, redirect
from flask import Flask
from flask import current_app
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "mssql://@Localhost/FlaskMSSQL?driver=ODBC Driver 17 for SQL Server"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db = SQLAlchemy(app)
Migrate(app,db)
db.init_app(app)
class Users(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer,primary_key= True)
Username = db.Column(db.Text)
Password = db.Column(db.Text)
Email = db.Column(db.Text)
def __init__(self,name):
self.name = name
@app.route('/users')
def listUsers():
users = Users.query.all()
test = Users.
return render_template('listuers.html', users=users)
@app.route('/')
def index():
return render_template('home.html')
if __name__ == '__main__':
app.run(debug=True)
看法:
{% extends "base.html" %}
{% block content %}
<div class="jumbotron">
<p>list users</p>
<ul>
{% for user in users %}
<li>{{user}}</li>
{% endfor %}
{% for item in user %}
<li>{{item}}</li>
{% endfor %}
</ul>
</div>
{% endblock %}
我試圖將資料拆分成位,但結果相同:
{% extends "base.html" %}
{% block content %}
<div class="jumbotron">
<p>list users</p>
<ul>
{% for user in users %}
<li>{{user}}</li>
{% endfor %}
{% for item in user %}
<li>{{item}}</li>
{% endfor %}
</ul>
</div>
{% endblock %}
uj5u.com熱心網友回復:
看起來好像您需要__str__為 Users 類指定。
或者,您可以明確指示要在模板中顯示的欄位。
而不是這個:
{% for user in users %}
<li>{{user}}</li>
{% endfor %}
嘗試這個:
{% for user in users %}
<li>{{user.Username}}</li>
{% endfor %}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/537094.html
下一篇:如何將按鈕放在影像下方?撲
