[英]How do I pass a variable in the URL to a Django list view?
首先,我想 state 我已經看到這里創建的帖子了。 問題是我對 Django 框架還是很陌生,我在代碼中實現這個策略的每一次嘗試都失敗了。 無論如何,我很好奇如何將字符串值從 URL 傳遞到我的列表視圖中。 在我的例子中,變量名為 item 以便我可以進行過濾查詢。 這在基於函數的視圖上非常容易做到,但我很難在這些基於類的視圖上做同樣的事情。 謝謝!
Class 基於視圖:
class PostListView(ListView):
model = Post.objects.get(subject_name=item)
template_name = 'blog/home.html'
context_object_name = 'posts'
ordering = ['-date_posted']
paginate_by = 5
路由:
path('<str:item>/', PostListView.as_view(), name='post-view')
您可以將 get 方法添加到您的 PostListView:
def get(self, request, *args, **kwargs):
item = kwargs[“item”]
// use the item variable here
return super().get(request, *args, **kwargs)
如果您需要更正您的上下文,同樣的事情:
def get_context_data(self, **kwargs):
data = super().get_context_data(**kwargs)
data['item'] = kwargs['item']
return data
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.