urls.py
url(r'^(?i)(?P<slug>[a-zA-Z0-9_]+)$', views_search.index, name='articles'),
上下文处理器.py
def get_username(request, **kwargs):
print kwargs
slug = kwargs.get('slug')
return {
'slug': slug
}
但是当我运行它时,它打印空字典并且没有任何内容返回到模板。我在设置中的模板上下文处理器中添加了它。我如何在这里访问 kwargs?
最佳答案
如果 url 被解析,ResolverMatch
对象被设置为请求的属性:
def get_username(request):
if hasattr(request, 'resolver_match'):
slug = request.resolver_match.kwargs.get('slug')
return {'slug': slug}
return {}
关于python - 我可以在 Django 模板上下文处理器中访问 url kwargs 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35392596/