ó
ù¢TQc           @   s‹   d  d l  m Z d  d l m Z m Z m Z m Z m Z d  d l m	 Z	 e	 d d „ ƒ Z
 e	 d d „ ƒ Z e	 d d	 „ ƒ Z d
 „  Z d S(   iÿÿÿÿ(   t   http(   t   Contextt   RequestContextt   loadert   Templatet   TemplateDoesNotExist(   t   requires_csrf_tokens   404.htmlc         C   s\   y t  j | ƒ } Wn t k
 r2 t d ƒ } n Xt j | j t |  i |  j d 6ƒ ƒ ƒ S(   s®   
    Default 404 handler.

    Templates: :template:`404.html`
    Context:
        request_path
            The path of the requested URL (e.g., '/app/pages/bad_page/')
    s[   <h1>Not Found</h1><p>The requested URL {{ request_path }} was not found on this server.</p>t   request_path(	   R   t   get_templateR   R   R    t   HttpResponseNotFoundt   renderR   t   path(   t   requestt   template_namet   template(    (    s.   ../Django//lib/python/django/views/defaults.pyt   page_not_found
   s    
s   500.htmlc         C   sM   y t  j | ƒ } Wn t k
 r0 t j d ƒ SXt j | j t i  ƒ ƒ ƒ S(   sS   
    500 error handler.

    Templates: :template:`500.html`
    Context: None
    s   <h1>Server Error (500)</h1>(   R   R   R   R    t   HttpResponseServerErrorR
   R   (   R   R   R   (    (    s.   ../Django//lib/python/django/views/defaults.pyt   server_error   s
    s   403.htmlc         C   sM   y t  j | ƒ } Wn t k
 r0 t j d ƒ SXt j | j t |  ƒ ƒ ƒ S(   sæ   
    Permission denied (403) handler.

    Templates: :template:`403.html`
    Context: None

    If the template does not exist, an Http403 response containing the text
    "403 Forbidden" (as per RFC 2616) will be returned.
    s   <h1>403 Forbidden</h1>(   R   R   R   R    t   HttpResponseForbiddenR
   R   (   R   R   R   (    (    s.   ../Django//lib/python/django/views/defaults.pyt   permission_denied/   s
    c         C   s    d d l  m } | |  | | ƒ S(   Niÿÿÿÿ(   t   shortcut(   t!   django.contrib.contenttypes.viewsR   (   R   t   content_type_idt	   object_idt   real_shortcut(    (    s.   ../Django//lib/python/django/views/defaults.pyR   A   s    N(   t   djangoR    t   django.templateR   R   R   R   R   t   django.views.decorators.csrfR   R   R   R   R   (    (    (    s.   ../Django//lib/python/django/views/defaults.pyt   <module>   s   (