web專案038 查詢使用者發布過的房屋

2021-10-13 19:21:59 字數 2613 閱讀 6194

如果我想知道當前登陸的使用者發不過那些房間,這個怎麼查呢

首先我們可以在網頁中看到,我們有乙個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 ...