如果我想知道當前登陸的使用者發不過那些房間,這個怎麼查呢
首先我們可以在網頁中看到,我們有乙個house的ght請求
所以我們要寫/user/houses這個路由
首先你需要獲取當前使用者
@api.route("/user/houses", methods=["get"])
@login_required
def get_user_houses():
"""獲取使用者發布的**
:return: 發布的**資訊
"""# 獲取當前的使用者
user_id = g.user_id
我們怎樣去查詢呢,我麼是不是應該查詢house模型?
首先看models檔案
我們可以看到user模型中有houses,與house是外來鍵的關係
我們看house模型
我們不需要獲取user_id,我們需要根據使用者來查詢這個使用者發布了那些房間
所以我們直接在user模型中用過id查詢資訊,在通過查詢的資訊中獲取house的資訊
try:
user = user.query.get(user_id)
houses = user.houses
except exception as e:
logging.error(e)
return jsonify(errno=ret.dberr, errmsg='獲取資料失敗')
print(houses)
我們重新訪問網頁
接下來我們需要想前端返回資料
我們開啟對應的js檔案,檢視我們需要返回什麼資料
這裡使用template,在前幾章我們說過
後面是他要接收的資料
我們返回資料
但是我們可以從前面注意到,houses是個列表,我們要返回列表中的資訊我們該怎麼做呢
我們在house模型中可以看到他裡面有一些方法
我們直接呼叫這個方法
@api.route("/user/houses", methods=["get"])
@login_required
def get_user_houses():
"""獲取使用者發布的**
:return: 發布的**資訊
"""# 獲取當前的使用者
user_id = g.user_id
try:
user = user.query.get(user_id)
houses = user.houses
except exception as e:
logging.error(e)
return jsonify(errno=ret.dberr, errmsg='獲取資料失敗')
# 將查詢到的房屋資訊轉換成字典放到列表中
現在都把資料給我們返回出來了
但是我們js用了那個模版引擎
但是myhouse的html檔案並沒有做出改變,**都是寫死的
可以吧這三個寫死的刪掉或者注釋,因為我們可能需要對照著寫,所以先注釋
第乙個不能刪,
我們回顧一下那個模版怎麼用的,先寫乙個script
再把然後再把要改的東西放裡面
我們需要給script新增引數我們還需要迴圈這個li,還要修改
我們通過each迴圈輸出,並且我們要把其中的內容修改,不能寫死,比如房屋id:需要從後端獲取來顯示
**:我們執行網頁
web專案的發布
1 我們將web專案佈署到iis上之前需要將我們的原始碼發布,然後再將發布後的 佈署到ii上 2 首先在vs上開啟我們的應用程式,在web層上右鍵 發布,會彈出乙個 發布web 的窗體,配置檔案中的 選擇或匯入發布配置檔案 下面的選擇框點選小三角形會出來乙個 新建 然後新建你想要發布檔案的名字 3 ...
Eclipse中發布WEB專案工程
1 發布工程到tomcat 方法一 在tomcat安裝的目錄下有乙個conf目錄,其中有乙個server.xml檔案,這個檔案就是用於儲存發布工程應用的配置檔案。我們只要對這個檔案進行配置,就可以發布具體的工程,另外,還有其他的方式發布,例如 通過war包發布等。這種配置server.xml檔案的方...
在Tomcat中發布web專案
2 在tomcat安裝目錄中有乙個conf資料夾,開啟此資料夾,其中包含配置檔案server.xml,開啟配置檔案,並在和之間插入如下語句。path hello docbase f eclipse3.2 workspace hello webroot debug 0 privileged true ...