亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在不同的頁面中返回過濾結果 - Django

在不同的頁面中返回過濾結果 - Django

慕妹3146593 2023-03-16 15:41:31
我已經搜索過了,但沒有任何東西可以解決問題或準確無誤。假設我在 A.html 頁面上有兩個網站,我有一個過濾器 (djnago_filter),而 B.html 是空的。如果用戶提交了搜索表單,他將被從 A.html 頁面重定向到 B.html 頁面,在該頁面中使用 for 循環顯示結果。我該怎么做?我正在考慮將數據從查詢集傳遞到另一個視圖,但必須有更好的解決方案。
查看完整描述

2 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

有幾種方法可以在不同的視圖(頁面)上存儲和顯示信息:

  1. 您可以使用會話

#views.py


    #set the session key in the view A:

    request.session['info'] = {'key', 'value'}

    

    #get the session key in the view B:

    info = request.session['info']

    del request.session['info']

  1. 您可以將模型JSONField一起使用:

#app/models.py


    #model to store information from page A

    from django.contrib.auth.models import User

    class MyModel(models.Model):

        user = models.ForeignKey(User,

            on_delete=models.DELETE,

            related_name="info")

        info = models.JSONField()


    #views.py

    #store data in the view A:

    from app.models import MyModel

    MyModel.objects.create(user=request.user, info={'key', 'value'})

    

    #retrieve data in the view B:

    info = MyModel.objects.get(user=request.user)

但實際上,一切都取決于您打算實現的邏輯。實際上還有其他方法,例如使用異步 Ajax、React、WebSockets...


查看完整回答
反對 回復 2023-03-16
?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

您可以將其作為 HTML 請求參數傳遞到 url 中,例如,在您的 pageA 模板中


<a href="{% url 'pageB' %}?some_filter={{ some_filter }}">to page B</a>

在 pageb 視圖中,您可以從請求對象中獲取過濾器


def page_b_view(request):


    some_filter = request.GET.get('some_filter')


查看完整回答
反對 回復 2023-03-16
  • 2 回答
  • 0 關注
  • 104 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號