在我的應用程式的儀表板頁面上,由于某種原因,無法從資料庫中的“cars”表中獲取任何資料。我能夠將此問題縮小到僅存在于 ec2 上的應用程式的儀表板頁面上。如果我在本地服務器上運行它作業正常。如果我嘗試轉到路線 /show/<car_id> 它會檢索有關特定車輛的資訊。
@classmethod
def getAllCars(cls):
query = "SELECT * FROM cars AS c LEFT JOIN users AS u ON u.id = c.users_id;"
results = connectToMySQL(cls.db).query_db(query)
all_cars = []
if not results:
return all_cars
for car in results:
new_car = cls(car)
userData = {
'id': car['users_id'],
'first_name': car['first_name'],
'last_name': car['last_name'],
'email': car['email'],
'password': car['password'],
'created_at': car['u.created_at'],
'updated_at': car['u.updated_at']
}
userD = user.User(userData)
print(userD)
new_car.user = userD
all_cars.append(new_car)
return all_cars
@app.route("/dashboard")
def dashboard():
if "user_id" not in session:
return redirect("/")
data = {
"id": session["user_id"]
}
return render_template("dashboard.html", user = User.getSingleUser(data), all_cars = Car.getAllCars())
<table class="table table-dark tabled-striped w-75">
<thead class="border-bottom">
<th class="w-25">Model</th>
<th class="w-25">Year</th>
<th class="w-25">Seller</th>
<th class="w-25">Actions</th>
</thead>
<tbody>
{% for car in all_cars %}
<tr>
<td class="w-25">{{car.model}}</td>
<td class="w-25">{{car.year}}</td>
<td class="w-25">{{car.user.first_name}} {{car.user.last_name}}</td>
<td class="w-25">
<a href="/show/{{car.id}}" class="btn btn-success">View</a>
{% if session["user_id"] == car.users_id %}
<a href="/edit/{{car.id}}" class="btn btn-primary">Edit</a>
<a href="/delete/{{car.id}}" class="btn btn-danger">Delete</a>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
我在本地獲得的與 ec2 對比的螢屏截圖。


uj5u.com熱心網友回復:
如果可能,我會在除錯模式下運行 Flask 應用程式以顯示錯誤。
另外,我會除錯connectToMySQL和query_db方法。他們回傳正確的東西嗎?如果您的查詢實際上回傳 falsey 以指示錯誤,那么您的視圖將只顯示一個空的汽車串列(因為這是代碼的默認值, via all_cars = [])。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/380529.html
