+
    Sjj                         R t ^ RIHtHtHtHt ^ RIHt ^ RIH	t	H
t
 ^ RIHt RR ltRRR	R/R
 ltR tR tR tR tR tR tR# )z
This module collects helper functions and classes that "span" multiple levels
of MVC. In other words, these functions/classes introduce controlled coupling
for convenience's sake.
)Http404HttpResponseHttpResponsePermanentRedirectHttpResponseRedirect)loader)NoReverseMatchreverse)PromiseNc                J    \         P                  ! WWR7      p\        WcV4      # )z
Return an HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
)using)r   render_to_stringr   )requesttemplate_namecontextcontent_typestatusr   contents   &&&&&& E/var/www/idalgo/venv/lib/python3.14/site-packages/django/shortcuts.pyrenderr      s#     %%mgSGv66    	permanentFpreserve_requestc               X    V'       d   \         M\        pV! \        V .VO5/ VB VR7      # )a?  
Return an HttpResponseRedirect to the appropriate URL for the arguments
passed.

The arguments could be:

    * A model: the model's `get_absolute_url()` function will be called.

    * A view name, possibly with arguments: `urls.reverse()` will be used
      to reverse-resolve the name.

    * A URL, which will be used as-is for the redirect location.

Issues a temporary redirect by default. Set permanent=True to issue a
permanent redirect. Set preserve_request=True to instruct the user agent
to preserve the original HTTP method and body when following the redirect.
)r   )r   r   resolve_url)tor   r   argskwargsredirect_classs   &$$*, r   redirectr      s6    & *3%8L  B((() r   c                ^    \        V R4      '       d   V P                  P                  4       # V # )z
Return a QuerySet or a Manager.
Duck typing in action: any class with a `get()` method (for
get_object_or_404) or a `filter()` method (for get_list_or_404) might do
the job.
_default_manager)hasattrr    all)klasss   &r   _get_querysetr$   8   s,     u())%%))++Lr   c                   \        V 4      p\        VR4      '       gK   \        V \        4      '       d   V P                  MV P
                  P                  p\        RV,          4      h VP                  ! V/ VB #   TP                  P                   d2    \        RTP                  P                  P                  ,          4      hi ; i)a=  
Use get() to return an object, or raise an Http404 exception if the object
does not exist.

klass may be a Model, Manager, or QuerySet object. All other passed
arguments and keyword arguments are used in the get() query.

Like with QuerySet.get(), MultipleObjectsReturned is raised if more than
one object is found.
getzVFirst argument to get_object_or_404() must be a Model, Manager, or QuerySet, not '%s'.No %s matches the given query.)r$   r!   
isinstancetype__name__	__class__
ValueErrorr&   modelDoesNotExistr   _metaobject_namer#   r   r   querysetklass__names   &*,  r   get_object_or_404r4   E   s     U#H8U##(55ENN5??;S;S 	 %'23
 	

||T,V,,>>&& 
,x~~/C/C/O/OO
 	

s   )A; ;ACc                  "   \        V 4      p\        VR4      '       gH   \        V \        4      '       d   V P                  MV P
                  P                  p\        RV R24      h VP                  ! V/ VB G Rj  xL
 #  L  TP                  P                   d/    \        RTP                  P                  P                   R24      hi ; i5i)zSee get_object_or_404().agetzSFirst argument to aget_object_or_404() must be a Model, Manager, or QuerySet, not ''.NNo  matches the given query.)r$   r!   r(   r)   r*   r+   r,   r6   r-   r.   r   r/   r0   r1   s   &*,  r   aget_object_or_404r:   a   s     U#H8V$$(55ENN5??;S;S 	 )]".
 	
Y]]D3F3333>>&& YHNN00<<==VWXXYs1   A%C(B =B>B CB A	CCc                z   \        V 4      p\        VR4      '       gK   \        V \        4      '       d   V P                  MV P
                  P                  p\        RV,          4      h\        VP                  ! V/ VB 4      pV'       g1   \        RVP                  P                  P                  ,          4      hV# )z
Use filter() to return a list of objects, or raise an Http404 exception if
the list is empty.

klass may be a Model, Manager, or QuerySet object. All other passed
arguments and keyword arguments are used in the filter() query.
filterzTFirst argument to get_list_or_404() must be a Model, Manager, or QuerySet, not '%s'.r'   )r$   r!   r(   r)   r*   r+   r,   listr<   r   r-   r/   r0   )r#   r   r   r2   r3   obj_lists   &*,   r   get_list_or_404r?   r   s     U#H8X&&(55ENN5??;S;S 	 "$/0
 	
 HOOT4V45H,x~~/C/C/O/OO
 	
 Or   c                  "   \        V 4      p\        VR4      '       gH   \        V \        4      '       d   V P                  MV P
                  P                  p\        RV R24      hVP                  ! V/ VB  Uu. u Rj  xL
 qUNK   LDMu upi ppT'       g.   \        RTP                  P                  P                   R24      hT# 5i)zSee get_list_or_404().r<   zQFirst argument to aget_list_or_404() must be a Model, Manager, or QuerySet, not 'r7   Nr8   r9   )r$   r!   r(   r)   r*   r+   r,   r<   r   r-   r/   r0   )r#   r   r   r2   r3   objr>   s   &*,    r   aget_list_or_404rB      s     U#H8X&&(55ENN5??;S;S 	 )]".
 	
 &.__d%Ef%EFFcFFHFHNN00<<==VWXXOs6   A9C;B=BB	
BB	BB?Cc                h   \        V R4      '       d   V P                  4       # \        V \        4      '       d   \	        V 4      p \        V \        4      '       d   V P                  R4      '       d   V #  \        WVR7      #   \         d&    \        T 4      '       d   h RT 9  d	   RT 9  d   h  T # i ; i)a1  
Return a URL appropriate for the arguments passed.

The arguments could be:

    * A model: the model's `get_absolute_url()` function will be called.

    * A view name, possibly with arguments: `urls.reverse()` will be used
      to reverse-resolve the name.

    * A URL, which will be returned as-is.
get_absolute_url)r   r   /.)z./z../)	r!   rD   r(   r	   str
startswithr   r   callable)r   r   r   s   &*,r   r   r      s     r%&&""$$"g W "cr}}];;	rV44 B<<b=S] Is   4B ,B10B1)NNNN)__doc__django.httpr   r   r   r   django.templater   django.urlsr   r   django.utils.functionalr	   r   r   r$   r4   r:   r?   rB   r    r   r   <module>rP      sV     # / +7% % 6

8Y"2"&r   