
    h                     b    S SK Jr  SSKJrJr   " S S\5      r " S S\5      r " S S	\5      rg
)    )HttpResponse   )get_templateselect_templatec                       \ rS rSrSrg)ContentNotRenderedError    N)__name__
__module____qualname____firstlineno____static_attributes__r
       J/var/www/html/env/lib/python3.13/site-packages/django/template/response.pyr   r      s    r   r   c                      ^  \ rS rSr/ SQr      SU 4S jjrS rS rS r\	S 5       r
S rS	 r\	S
 5       rU 4S jr\	U 4S j5       r\R                   S 5       rSrU =r$ )SimpleTemplateResponse
   )template_namecontext_data_post_render_callbacksc                 r   > Xl         X l        X`l        / U l        S U l        [
        TU ]  SX4XWS9  SU l        g )N )charsetheadersF)r   r   usingr   _requestsuper__init___is_rendered)	selftemplatecontextcontent_typestatusr   r   r   	__class__s	           r   r   SimpleTemplateResponse.__init__   sG     &#
&(# 
 	\7T "r   c                     U R                   R                  5       nU R                  (       d  [        S5      eU R                   H  nX!;   d  M
  X	 M     U$ )z
Raise an exception if trying to pickle an unrendered response. Pickle
only rendered data, not the data used to construct the response.
z?The response content must be rendered before it can be pickled.)__dict__copyr    r   rendering_attrs)r!   obj_dictattrs      r   __getstate__#SimpleTemplateResponse.__getstate__5   sS    
 ==%%'  )Q  ((DN ) r   c                     [        U[        [        45      (       a  [        XR                  S9$ [        U[
        5      (       a  [        XR                  S9$ U$ )z=Accept a template object, path-to-template, or list of paths.)r   )
isinstancelisttupler   r   strr   )r!   r"   s     r   resolve_template'SimpleTemplateResponse.resolve_templateE   sC    hu.."8::>>#&&

;;Or   c                     U$ Nr
   )r!   r#   s     r   resolve_context&SimpleTemplateResponse.resolve_contextN   s    r   c                     U R                  U R                  5      nU R                  U R                  5      nUR	                  X R
                  5      $ )a  Return the freshly rendered content for the template and context
described by the TemplateResponse.

This *does not* set the final content of the response. To set the
response content, you must either call render(), or set the
content explicitly using the value of this property.
)r5   r   r9   r   renderr   )r!   r"   r#   s      r   rendered_content'SimpleTemplateResponse.rendered_contentQ   sC     ((););<&&t'8'89w66r   c                 n    U R                   (       a	  U" U 5        gU R                  R                  U5        g)zpAdd a new post-rendering callback.

If the response has already been rendered,
invoke the callback immediately.
N)r    r   append)r!   callbacks     r   add_post_render_callback/SimpleTemplateResponse.add_post_render_callback^   s(     TN''..x8r   c                     U nU R                   (       d3  U R                  U l        U R                   H  nU" U5      nUc  M  UnM     U$ )zRender (thereby finalizing) the content of the response.

If the content has already been rendered, this is a no-op.

Return the baked response instance.
)r    r=   contentr   )r!   retvalpost_callback	newretvals       r   r<   SimpleTemplateResponse.renderi   sK       00DL!%!<!<)&1	(&F "= r   c                     U R                   $ r8   )r    )r!   s    r   is_rendered"SimpleTemplateResponse.is_renderedy   s       r   c                 X   > U R                   (       d  [        S5      e[        TU ]  5       $ )NzEThe response content must be rendered before it can be iterated over.)r    r   r   __iter__r!   r&   s    r   rN   SimpleTemplateResponse.__iter__}   s,      )W  w!!r   c                 P   > U R                   (       d  [        S5      e[        TU ]  $ )Nz@The response content must be rendered before it can be accessed.)r    r   r   rE   rO   s    r   rE   SimpleTemplateResponse.content   s(      )R  wr   c                 P    [         R                  R                  X5        SU l        g)z!Set the content for the response.TN)r   rE   fsetr    )r!   values     r   rE   rR      s      	!!$. r   )r    r   r   rE   r   r   r   NNNNNN)r   r   r   r   r+   r   r.   r5   r9   propertyr=   rB   r<   rK   rN   rE   setterr   __classcell__r&   s   @r   r   r   
   s    QO
 &"P  
7 
7	9  ! !"   ^^! !r   r   c                   X   ^  \ rS rSr\R
                  S/-   r      SU 4S jjrSrU =r$ )TemplateResponse   r   c	           
      2   > [         T	U ]  X#XEXgUS9  Xl        g )N)r   )r   r   r   )
r!   requestr"   r#   r$   r%   r   r   r   r&   s
            r   r   TemplateResponse.__init__   s'     	|WW 	 	
  r   )r   rV   )	r   r   r   r   r   r+   r   r   rY   rZ   s   @r   r\   r\      s3    ,<<
|KO    r   r\   N)	django.httpr   loaderr   r   	Exceptionr   r   r\   r
   r   r   <module>rd      s3    $ 1	i 	F!\ F!R -  r   