File tree Expand file tree Collapse file tree 3 files changed +28
-4
lines changed Expand file tree Collapse file tree 3 files changed +28
-4
lines changed Original file line number Diff line number Diff line change @@ -245,7 +245,11 @@ def render_graphql_ide(
245245 self , request : HttpRequest , request_data : GraphQLRequestData
246246 ) -> HttpResponse :
247247 try :
248- content = render_to_string ("graphql/graphiql.html" , request = request )
248+ content = render_to_string (
249+ "graphql/graphiql.html" ,
250+ request = request ,
251+ context = request_data .to_template_context (),
252+ )
249253 except TemplateDoesNotExist :
250254 content = self .graphql_ide_html
251255
@@ -307,7 +311,11 @@ async def render_graphql_ide(
307311 self , request : HttpRequest , request_data : GraphQLRequestData
308312 ) -> HttpResponse :
309313 try :
310- content = render_to_string ("graphql/graphiql.html" , request = request )
314+ content = render_to_string (
315+ "graphql/graphiql.html" ,
316+ request = request ,
317+ context = request_data .to_template_context (),
318+ )
311319 except TemplateDoesNotExist :
312320 content = self .graphql_ide_html
313321
Original file line number Diff line number Diff line change @@ -133,7 +133,14 @@ def dispatch_request(self) -> ResponseReturnValue:
133133 def render_graphql_ide (
134134 self , request : Request , request_data : GraphQLRequestData
135135 ) -> Response :
136- return render_template_string (self .graphql_ide_html ) # type: ignore
136+ return render_template_string (
137+ self .graphql_ide_html ,
138+ ** {
139+ "query" : request_data .query ,
140+ "variables" : request_data .variables ,
141+ "operationName" : request_data .operation_name ,
142+ },
143+ ) # type: ignore
137144
138145
139146class AsyncFlaskHTTPRequestAdapter (AsyncHTTPRequestAdapter ):
@@ -198,7 +205,9 @@ async def dispatch_request(self) -> ResponseReturnValue: # type: ignore
198205 async def render_graphql_ide (
199206 self , request : Request , request_data : GraphQLRequestData
200207 ) -> Response :
201- content = render_template_string (self .graphql_ide_html )
208+ content = render_template_string (
209+ self .graphql_ide_html , ** request_data .to_template_context ()
210+ )
202211 return Response (content , status = 200 , content_type = "text/html" )
203212
204213 def is_websocket_request (self , request : Request ) -> TypeGuard [Request ]:
Original file line number Diff line number Diff line change @@ -37,6 +37,13 @@ class GraphQLRequestData:
3737 extensions : Optional [dict [str , Any ]]
3838 protocol : Literal ["http" , "multipart-subscription" , "subscription" ] = "http"
3939
40+ def to_template_context (self ) -> dict [str , Any ]:
41+ return {
42+ "query" : self .query ,
43+ "variables" : self .variables ,
44+ "operationName" : self .operation_name ,
45+ }
46+
4047
4148__all__ = [
4249 "GraphQLHTTPResponse" ,
You can’t perform that action at this time.
0 commit comments