概述我怎麼能動態設置查詢參數在request.GET中的Django
與查詢參數的URL看起來像。
http://example.api.com/search/?name=jhon&age=26
和上視圖如果我使用django-filter所有參數被自動地從請求中提取,它將返回一個過濾查詢集。
views.py
class SearchView(TemplateView):
template_name = "search.html"
def get_queryset(self):
return SearchFilter(request.GET, queryset=Model.objects.all()).qs
def get_context_data(self, **kwargs):
context = super(SearchView, self).get_context_data(**kwargs)
return context
如果我想手動從我request.GET中可以做解壓。
def get_queryset(self):
# extracting query parameter
q = self.request.GET.get('name')
問題描述
我的搜索URL看起來像
http://example.api.com/search/jhon-26
我這樣做,因爲我不想透露像 '名' 和「年齡鍵做'公開,這是爲了安全抽象這些是我的數據庫表的列。
我得到的** kwargs jhon-26
,我想拆它,並設置查詢參數使request.GET中,我的過濾器類將正常工作
問題
是有什麼要設置屬性request.GET?
# may be any set function available for this
self.request.GET.set('name', 'jhon')
我該如何做到這一點。
爲什麼不把它放在會話中?並在過濾器視圖中訪問? – Exprator
如何訪問我的過濾器類中的請求會話? – Satendra
正如您通常在視圖中訪問會話,只需在該文件中導入請求 – Exprator