urls.py

url(r'^(?i)(?P<slug>[a-zA-Z0-9_]+)$', views_search.index, name='articles'),

context_processor.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/

10-12 07:36
查看更多