id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 21154,`TemplateResponse` does not convert `Context` to `RequestContext`.,Tai Lee,nobody,"The docs say that `TemplateResponse` is a subclass of `SimpleTemplateResponse` that uses `RequestContext` instead of `Context`. It also says that context data can be provided as a dict or as a `Context` object. However, if a `Context` object is given as context data, it is left as-is and is not converted to a `RequestContext` object in `TemplateResponse.resolve_context()`. Either the docs should be changed to reflect that users must pass a dict or `RequestContext` (and validate this in code), or the code should be updated to convert `Context` to `RequestContext` objects. I would suggest the latter, even though it may be an edge case. If a user wants to use `TemplateResponse` and they are passed a `Context` object from somewhere (maybe 3rd party code), there appears to be no user-friendly way to convert it to `RequestContext` themselves before passing to `TemplateResponse`. You can't do `RequestContext(request, context_object)`. It seems you would need to iterate through `context_object.dicts` and assign each key/value to a new empty `RequestContext` object in order, or perhaps just `context.dicts` across. Perhaps updating `RequestContext` to allow `Context` objects as data, and checking `isinstance(context, RequestContext)` in `TemplateResponse.resolve_context()` would be a good idea? ",Bug,closed,Template system,dev,Normal,fixed,TemplateResponse Context RequestContext,,Unreviewed,0,0,0,0,0,0