﻿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
