Django

Code

Show
Ignore:
Timestamp:
07/19/08 14:32:01 (4 months ago)
Author:
mtredinnick
Message:

First part of setting request.path correctly.

Still needs:

  • testing
  • docs changes
  • some way of fixing reverse().
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/core/handlers/wsgi.py

    r7814 r7991  
    88from django import http 
    99from django.core import signals 
    10 from django.core.handlers.base import BaseHandler 
     10from django.core.handlers import base 
    1111from django.dispatch import dispatcher 
    1212from django.utils import datastructures 
     
    7575class WSGIRequest(http.HttpRequest): 
    7676    def __init__(self, environ): 
     77        script_name = base.get_script_name() 
     78        path_info = force_unicode(environ.get('PATH_INFO', '/')) 
    7779        self.environ = environ 
    78         self.path = force_unicode(environ['PATH_INFO']) 
     80        self.path_info = path_info 
     81        self.path = '%s%s' % (script_name, path_info) 
    7982        self.META = environ 
     83        self.META['PATH_INFO'] = path_info 
     84        self.META['SCRIPT_NAME'] = script_name 
    8085        self.method = environ['REQUEST_METHOD'].upper() 
    8186 
     
    179184    raw_post_data = property(_get_raw_post_data) 
    180185 
    181 class WSGIHandler(BaseHandler): 
     186class WSGIHandler(base.BaseHandler): 
    182187    initLock = Lock() 
    183188    request_class = WSGIRequest