第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Django self.request 不通過查詢過濾

Django self.request 不通過查詢過濾

溫溫醬 2021-12-16 15:52:49
我試圖在我的搜索模板中實(shí)現(xiàn)一些基本搜索,但是當(dāng)我搜索時(shí),它在 URL 中工作,但不會(huì)更改模板中的任何帖子。意見:class SearchListView(ListView):    model = Post    template_name = "public/search.html"    def get_context_data(self, **kwargs):        context = super(SearchListView, self).get_context_data(**kwargs)        context['queryset'] = Post.objects.filter(live=True)        context['category'] = Category.objects.all()        return context    def SearchListView(request):        query = self.request.GET.get("q")        if query:            queryset = queryset.filter(title_icontains=query)我不確定這是否是正確的設(shè)置方式,因?yàn)槲艺谟^看的教程沒有使用基于類的視圖。HTML:<div class="container mt-5 mb-5">    <div class="banner-search-main mb-5">        <form method='GET' action=''>            <p class="text-muted">Keywords:</p>            <input type="text" name='q' class="homebanner-search" placeholder="Enter your keywords" value='{{ request.get.q }}'>            <input type="submit" value="search">        </form>    </div>    <div class="detail-container">        {% for post in queryset %}            <div class="col-sm card-container">                <a href="{% url 'post-detail' post.slug %}">                    <div class="main-card">                        <div class="main-card-img">                            <img src="https://via.placeholder.com/270x150" class="card-img-top" alt="#">                        </div>                    </div>                </a>            </div>        {% endfor %}    </div></div>例子:
查看完整描述

3 回答

?
米脂

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊

帶有 get_queryset 方法的 ListView


class SearchListView(ListView):

    model = Post

    template_name = "public/search.html"


    def get_queryset(self):

       queryset = super().get_queryset().filter(live=True)

       query = self.request.GET.get("q")

       if query:

        queryset = queryset.filter(title__icontains=query)

       return queryset


    def get_context_data(self, **kwargs):

       context = super(SearchListView, self).get_context_data(**kwargs)

       context['queryset'] = self.get_queryset()

       context['category'] = Category.objects.all()

       return context


查看完整回答
反對(duì) 回復(fù) 2021-12-16
?
白板的微信

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊

首先,我建議訪問這個(gè)以查看基于類的視圖的基礎(chǔ)結(jié)構(gòu)。


class SearchListView(ListView):

    model = Post

    template_name = "public/search.html"

    success_url ='where you want to redirect'



    def get_queryset(self): # method that returns the queryset is `get_queryset`

       query = self.request.GET.get("q")

       if query:

        queryset = self.model.objects.filter(title__icontains=query) # double underscore not single

       return queryset


    def get_context_data(self, **kwargs):

       context = super(SearchListView, self).get_context_data(**kwargs)

       context['queryset'] = self.get_queryset()

       context['category'] = Category.objects.all()

       return context


查看完整回答
反對(duì) 回復(fù) 2021-12-16
?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊

您的問題是您在類中創(chuàng)建了一個(gè)隨機(jī)函數(shù),該函數(shù)不會(huì)覆蓋任何內(nèi)容。您要做的是覆蓋get_queryset()。


class SearchListView(ListView):

    model = Post

    template_name = "public/search.html"


    def get_context_data(self, **kwargs):

        context = super(SearchListView, self).get_context_data(**kwargs)

        context['queryset'] = self.get_queryset()

        context['category'] = Category.objects.all()

        return context


    def get_queryset(self):

        queryset = super().get_queryset().filter(live=True)

        query = self.request.GET.get("q")

        if query:

            queryset = queryset.filter(title__icontains=query)

        return queryset


查看完整回答
反對(duì) 回復(fù) 2021-12-16
  • 3 回答
  • 0 關(guān)注
  • 267 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)