我想爲項目添加一個「Last seen」網址列表,以便用戶請求的最後5篇文章可以顯示在列表中,供所有用戶使用。 我讀過中間件docs,但無法弄清楚如何在我的情況下使用它。 我需要的是一箇中間件的簡單工作示例,該中間件捕獲請求以便保存和重用它們。如何在django中保存最新的url請求?
0
A
回答
1
嗯,不知道我是否會用中間件來做,或者是一個裝飾者。但作爲你的問題是關於中間件,在這裏我的例子:
class ViewLoggerMiddleware(object):
def process_response(self, request, response):
# We only want to save successful responses
if response.status_code not in [200, 302]:
return response
ViewLogger.objects.create(user_id=request.user.id,
view_url=request.get_full_path(), timestamp=timezone.now())
顯示前5將是類似的;
ViewLogger.objects.filter(user_id=request.user.id).order_by("-timestamp")[:5]
注:代碼沒有測試,我不確定是否status_code是一個真正的響應屬性。另外,您可以更改有效狀態碼的列表。
+0
感謝您的解決方案。但是,這個問題會記錄所有請求,包括對我不想保存的網址的請求。我只想限制請求某些內容(例如'/ articles/*'和'/ posts/*')。你會怎麼做沒有中間件? – Jand
+1
正如我所說,你可以修改你自己的裝飾器功能,並將它放在你想監視的功能上面。另一個「簡單」選項是向request.path中的中間件「if」/ articles /「添加額外的if。 – Blackeagle52
相關問題
- 1. Django的:保存URL請求參數到表單
- 2. 保護http請求的URL
- 3. 如何使用URL中的值和Django DetailView中的請求?
- 4. 如何在NodeJS中保護請求的URL不受攻擊?
- 5. 在javascript中獲取最新請求的url onbeforeunload事件
- 6. android volley緩存異步請求 - 如何在ResponseListener中獲取請求的url
- 7. 如何審問Glimpse保存的請求?
- 8. 如何在Java servlet中捕獲不存在的請求URL?
- 9. 如何使用nginx proxy_pass保存請求url
- 10. 如何獲取當前(最新)json獲取請求url?
- 11. 保存JSON請求在dynamoDb
- 12. 在Rails中保存用戶url請求(get&post)
- 13. 如何在緩存中保存請求asp.net vb,net
- 14. 如何在Django中通過請求對象保存並傳遞令牌?
- 15. 如何讓PHP在error_log文件中存儲請求的URL?
- 16. Python,Django - 如何在中間件中存儲http請求?
- 17. 如何在rails中發送URL請求?
- 18. 如何保存請求頁面
- 19. 如何在django中設置request.body請求工廠發佈請求?
- 20. 如何在scrapy中提出請求之前更改請求url?
- 21. softDeletes()要求deleted_at存在於保存數據的請求中
- 22. 如何實現每個請求在內存中的「緩存」的價值在Django
- 23. 如何實現這個在Django - 後退按鈕 - 將數據保存在請求
- 24. Django中的每個請求緩存?
- 25. Django中的請求
- 26. 如何在JavaScript中存儲請求URL以滿足DRY主體?
- 27. 請求中的AFNetworking更新URL
- 28. Django的請求URL變得怪異
- 29. 如何在python/django中使用URL保存圖像
- 30. Django緩存壞請求(400)
爲什麼你想在中間件中做到這一點?我不確定這是最好的地方。 – albar
@albar我願意接受所有建議來完成這項任務。其實我更喜歡一種觀點,因爲我不熟悉中間件寫作。 – Jand