I've got a fairly standard ListView trying to render a template stored in 
my DB (originally via the dbtemplates lib, finally trying my own template 
loader).  However, the view times out in the browser.  After some 
investigation, it seems that Loader.load_template_source() is called 69 
times in the process.  Does anyone see an issue in my code or can you come 
up with a reason why this is the case?

*visitor_index (db template)*
*
*

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>{{ site.name }}</title>
    </head>
    <body id="home">
    <pre>
        Starting
        {% for video in videos %}
            {{ video.headline }}
        {% endfor %}
    </pre>
    </body>
</html>



*urls.py*

    from django.conf.urls import include, url
    from django.conf.urls.defaults import patterns
    from videos.views import *
    
    urlpatterns = patterns('',
        url(r'^$', VisitorIndex.as_view(), name='index'),
    )

*views.py*

    import logging
    from django.views.generic import ListView
    from videos.models import Video

    logger = logging.getLogger(__name__)

    class VisitorIndex(ListView):
        context_object_name = 'videos'
        template_name = 'visitor_index'

        def get_queryset(self):
            logger.debug('VisitorIndex.get_queryset()')
            return Video.on_site.filter(privacy_mode='PUB')

*loader.py*

    import logging
    from django.template import TemplateDoesNotExist
    from django.template.loader import BaseLoader
    from dbtemplates.models import Template

    logger = logging.getLogger(__name__)

    class Loader(BaseLoader):
        is_usable = True

        def load_template_source(self, template_name, template_dirs=None):
            try:
                logger.debug('Loader.load_template_source(%s, %s)' % 
(template_name, template_dirs))
                template = 
Template.on_site.get(slug__exact=template_name).template_body
                logger.debug('Loaded template.')
                return template, template_name
            except Template.DoesNotExist:
                logger.debug('Template.DoesNotExist caught.')
                raise TemplateDoesNotExist, template_name

*models.py*

    import logging
    from django.contrib.sites.models import Site
    from django.contrib.sites.managers import CurrentSiteManager
    from django.db import models

    logger = logging.getLogger('__name__')

    class Template(models.Model):
        slug = models.CharField(max_length=80)
        template_body = models.TextField()
        site = models.ForeignKey(Site)

        objects = models.Manager()
        on_site = CurrentSiteManager('site')
    
        def __unicode__(self):
            return self.slug

*settings.py*

    TEMPLATE_LOADERS = (
        'django.template.loaders.filesystem.Loader',
        'django.template.loaders.app_directories.Loader',
        'dbtemplates.loader.Loader',
    )

*app.log*

    2013-05-08 15:08:26,167 [DEBUG] dynamicsites.middleware: ENV_HOSTNAMES 
lookup subdomain=None domain=mydomain.com domain_unsplit=mydomain.com
    2013-05-08 15:08:26,168 [DEBUG] dynamicsites.middleware: Checking 
database for domain=mydomain.com
    2013-05-08 15:08:26,227 [DEBUG] dynamicsites.middleware: Using site 
id=2 domain=mydomain.com
    2013-05-08 15:08:26,261 [DEBUG] videos.views: 
VisitorIndex.get_queryset()
    2013-05-08 15:08:26,265 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,426 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:26,542 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,554 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,569 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,587 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,608 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,632 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,658 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,689 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,721 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,756 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,794 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,835 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,897 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,944 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:26,998 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:27,052 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:27,107 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:27,166 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:27,227 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:27,293 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:27,360 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:27,431 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:27,504 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:27,580 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:27,692 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:27,773 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:27,857 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:27,958 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:28,048 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:28,139 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:28,234 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:28,332 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:28,433 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:28,537 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:28,646 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:28,756 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:28,869 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:29,001 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:29,119 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:29,241 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:29,365 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:29,512 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:29,648 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:29,781 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:29,933 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:30,088 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:30,233 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:30,378 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:30,526 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:30,680 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:30,835 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:31,006 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:31,166 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:31,327 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:31,492 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:31,661 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:31,833 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:32,006 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:32,199 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:32,380 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:32,562 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:32,749 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:32,938 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:33,150 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:33,349 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:33,550 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:33,752 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:33,952 [DEBUG] dbtemplates.loader: 
Loader.load_template_source(visitor_index, None)
    2013-05-08 15:08:33,954 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,954 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,955 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,955 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,956 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,956 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,957 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,957 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,958 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,958 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,959 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,959 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,960 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,960 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,960 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,961 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,961 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,962 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,962 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,963 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,963 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,964 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,964 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,965 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,965 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,966 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,966 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,966 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,967 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,967 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,968 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,968 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,969 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,969 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,970 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,971 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,971 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,972 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,972 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,972 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,973 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,973 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,974 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,974 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,975 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,975 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,976 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,976 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,977 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,977 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,978 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,978 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,979 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,979 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,980 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,980 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,981 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,981 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,982 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,982 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,983 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,983 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,983 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,984 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,984 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,985 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:33,985 [DEBUG] dbtemplates.loader: Loaded template.
    2013-05-08 15:08:37,663 [DEBUG] dynamicsites.middleware: ENV_HOSTNAMES 
lookup subdomain=None domain=mydomain.com domain_unsplit=mydomain.com
    2013-05-08 15:08:37,663 [DEBUG] dynamicsites.middleware: Checking 
database for domain=mydomain.com
    2013-05-08 15:08:37,693 [DEBUG] dynamicsites.middleware: Using site 
id=2 domain=mydomain.com

Any help is much appreciated,
Wes


-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to