Django

Code

Changeset 3213

Show
Ignore:
Timestamp:
06/26/06 18:01:46 (2 years ago)
Author:
adrian
Message:

Fixed #2157 -- Admin doc views now work if django.contrib.sites isn't installed

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/contrib/admin/views/doc.py

    r2957 r3213  
    1414# Exclude methods starting with these strings from documentation 
    1515MODEL_METHODS_EXCLUDE = ('_', 'add_', 'delete', 'save', 'set_') 
     16 
     17class GenericSite(object): 
     18    domain = 'example.com' 
     19    name = 'my site' 
    1620 
    1721def doc_index(request): 
     
    103107        urlconf = __import__(settings_mod.ROOT_URLCONF, '', '', ['']) 
    104108        view_functions = extract_views_from_urlpatterns(urlconf.urlpatterns) 
     109        if Site._meta.installed: 
     110            site_obj = Site.objects.get(pk=settings_mod.SITE_ID) 
     111        else: 
     112            site_obj = GenericSite() 
    105113        for (func, regex) in view_functions: 
    106114            views.append({ 
     
    108116                'module': func.__module__, 
    109117                'site_id': settings_mod.SITE_ID, 
    110                 'site': Site.objects.get(pk=settings_mod.SITE_ID)
     118                'site': site_obj
    111119                'url': simplify_regex(regex), 
    112120            }) 
     
    229237    for site_settings_module in settings.ADMIN_FOR: 
    230238        settings_mod = __import__(site_settings_module, '', '', ['']) 
     239        if Site._meta.installed: 
     240            site_obj = Site.objects.get(pk=settings_mod.SITE_ID) 
     241        else: 
     242            site_obj = GenericSite() 
    231243        for dir in settings_mod.TEMPLATE_DIRS: 
    232244            template_file = os.path.join(dir, "%s.html" % template) 
     
    236248                'contents': lambda: os.path.exists(template_file) and open(template_file).read() or '', 
    237249                'site_id': settings_mod.SITE_ID, 
    238                 'site': Site.objects.get(pk=settings_mod.SITE_ID)
     250                'site': site_obj
    239251                'order': list(settings_mod.TEMPLATE_DIRS).index(dir), 
    240252            })