如何在Django视图中使用request.path get_context_data?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Django视图中使用request.path get_context_data?相关的知识,希望对你有一定的参考价值。
我想在视图的get_context_data中使用URL的最后一部分。
例如:如果我有/ foo / bar,我想在视图中的变量中获取/ bar。
def get_context_data(self, **kwargs):
ctx = super().get_context_data(**kwargs)
ctx["url"] = request.path.split('/')[:-1]
return ctx
答案
您可以使用self.request
访问请求对象。因此,您可以在此处通过以下方式实现此功能:
def get_context_data(self, **kwargs):
ctx = super().get_context_data(**kwargs)
ctx['url'] = self.request.path.split('/')[:-1]
return ctx
请注意,通过使用[:-1]
可以构造字符串的[[list”。因此,当您输入['', '/foo']
时将为/foo/bar
。或['']
表示/foo
,或['', '/foo', '/bar']
表示/foo/bar/qux
。
.rsplit(..)
: def get_context_data(self, **kwargs):
ctx = super().get_context_data(**kwargs)
ctx['url'] = self.request.path.rsplit('/', 1)[0]
return ctx
以上是关于如何在Django视图中使用request.path get_context_data?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Django 视图中使用 celery 存储延迟调用的结果?