簡體   English   中英

通用視圖請求處理Django

[英]Generic views request handling Django

我是Django的新手。 我想使用這樣的通用視圖:

class photogalleryView(generic.ListView):
    template_name = 'xxx/photogallery.html'
    model = Foto
    query = Foto.objects.all()

def get_queryset(self):
    return self.query

而且我絕對不知道如何處理GET或POST請求或類似PHP中的$ _SESSION之類的東西,請給我一些建議嗎? 非常感謝你們 !

例如-我要處理此URL上的GET請求:

http://127.0.0.1:8000/photogallery?filter=smth

如果您要使用的話,請查看基於類的視圖的文檔

您可以在類中添加getpost 方法 ,它們將在每個相應的請求上觸發。

這些方法采用一個request參數,該參數可用於訪問來自客戶端,會話和已登錄用戶的數據。 查看文檔以獲取詳細信息。

首先,返回相同的QuerySet對象query = Foto.objects.all()並沒有多大意義,當您嘗試使用過濾器和分頁時,可能會(並且將)惹上麻煩。 如果要手動修改QuerySet ,請執行以下操作:

def get_queryset(self, *args, **kwargs):
    qs = super().get_queryset(*args, **kwargs)
    # modify the qs QuerySet in the way you want
    return qs

在Django中,通常不使用GET或POST。 Django會為您處理:)您想要實現的示例在這里: https : //docs.djangoproject.com/en/1.11/topics/class-based-views/generic-display/#dynamic-filtering

實際上,Django文檔非常好而且全面,至少對於公共功能而言。 在示例中,請注意url(r'^books/([\\w-]+)/$', PublisherBookList.as_view()), ,其中([\\w-]+) RegEx組捕獲某些參數(您可以稍后在get_queryset方法中使用它(例如示例中的self.args[0] ),例如“ smith”。

要了解有關url模式的更多信息,請閱讀以下文檔: https : //docs.djangoproject.com/en/1.10/topics/http/urls/#named-groups

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM