Hello all, I am running 0.96 and and was breezing through the tutorials until I hit the part where you enable the admin site (http:// www.djangoproject.com/documentation/0.96/tutorial02/).
I get this error message: TemplateDoesNotExist at /admin/ admin/login.html Request Method: GET Request URL: http://localhost:8000/admin/ Exception Type: TemplateDoesNotExist Exception Value: admin/login.html Exception Location: /Library/Python/2.5/site-packages/django/template/ loader.py in find_template_source, line 72 Template-loader postmortem Django tried loading these templates, in this order: * Using loader django.template.loaders.filesystem.load_template_source: * Using loader django.template.loaders.app_directories.load_template_source: Traceback (innermost last) Switch back to interactive view * /Library/Python/2.5/site-packages/django/core/handlers/base.py in get_response 70. # Apply view middleware 71. for middleware_method in self._view_middleware: 72. response = middleware_method(request, callback, callback_args, callback_kwargs) 73. if response: 74. return response 75. 76. try: 77. response = callback(request, *callback_args, **callback_kwargs) ... 78. except Exception, e: 79. # If the view raised an exception, run it through exception 80. # middleware, and if the exception middleware returns a 81. # response, use that. Otherwise, reraise the exception. 82. for middleware_method in self._exception_middleware: 83. response = middleware_method(request, e) ▶ Local vars Variable Value callback <function _checklogin at 0x13de2f0> callback_args () callback_kwargs {} debug <module 'django.views.debug' from '/Library/Python/2.5/site- packages/django/views/debug.pyc'> e TemplateDoesNotExist('admin/login.html',) exceptions <module 'django.core.exceptions' from '/Library/Python/2.5/site- packages/django/core/exceptions.pyc'> mail_admins <function mail_admins at 0x1373f30> middleware_method <bound method XViewMiddleware.process_view of <django.middleware.doc.XViewMiddleware object at 0x1376d50>> request <WSGIRequest GET:<MultiValueDict: {}>, POST:<MultiValueDict: {}>, COOKIES:{}, META:{'Apple_PubSub_Socket_Render': '/tmp/launch- yBPenp/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DAISY_HOME': '/opt/local/daisy', 'DISPLAY': '/tmp/launch-U2kgvx/:0', 'DJANGO_SETTINGS_MODULE': 'sggsite.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': '/Users/ sethgottlieb', 'HTTP_ACCEPT': 'text/xml,application/xml,application/ xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en- US,en;q=0.9,ja;q=0.8,fr;q=0.7,de;q=0.6,es;q=0.5,it;q=0.4,nl;q=0.3,sv;q=0.2,nb;q=0.1', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_HOST': 'localhost:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en; rv:1.8.1.14) Gecko/20080512 Camino/1.6.1 (like Firefox/2.0.0.14)', 'JAVA_HOME': '/System/Library/Frameworks/ JavaVM.framework/Home', 'LANG': 'en_US.UTF-8', 'LOGNAME': 'sethgottlieb', 'MANPATH': '/usr/share/man:/usr/local/share/man:/usr/ X11/man', 'OLDPWD': '/Users/sethgottlieb/Documents/workspace/dproto', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/ opt/local/bin', 'PATH_INFO': '/admin/', 'PWD': '/Users/sethgottlieb/ Documents/workspace/dproto/sggsite', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': '', 'SECURITYSESSIONID': '6baa70', 'SERVER_NAME': 'bricolagedemo.local', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.5.1', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/ tmp/launch-WZ3B0n/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '240', 'TMPDIR': '/var/ folders/-y/-yoW8z14EBWbbHRKrzrxAU+++TI/-Tmp-/', 'TZ': 'America/ Boston', 'USER': 'sethgottlieb', 'XFC_HOME': '/opt/local/xfc-41', '_': '/usr/bin/python', '__CF_USER_TEXT_ENCODING': '0x1F5:0:0', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x170b0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x13388b0>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}> resolver <django.core.urlresolvers.RegexURLResolver object at 0x13fc310> response None self <django.core.handlers.wsgi.WSGIHandler object at 0x573190> settings <django.conf.LazySettings object at 0x294b50> urlconf 'sggsite.urls' urlresolvers <module 'django.core.urlresolvers' from '/Library/Python/2.5/ site-packages/django/core/urlresolvers.pyc'> * /Library/Python/2.5/site-packages/django/contrib/admin/views/ decorators.py in _checklogin 59. 60. # If this isn't already the login page, display it. 61. if not request.POST.has_key(LOGIN_FORM_KEY): 62. if request.POST: 63. message = _("Please log in again, because your session has expired. Don't worry: Your submission has been saved.") 64. else: 65. message = "" 66. return _display_login_form(request, message) ... 67. 68. # Check that the user accepts cookies. 69. if not request.session.test_cookie_worked(): 70. message = _("Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again.") 71. return _display_login_form(request, message) 72. ▶ Local vars Variable Value args () kwargs {} message '' request <WSGIRequest GET:<MultiValueDict: {}>, POST:<MultiValueDict: {}>, COOKIES:{}, META:{'Apple_PubSub_Socket_Render': '/tmp/launch- yBPenp/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DAISY_HOME': '/opt/local/daisy', 'DISPLAY': '/tmp/launch-U2kgvx/:0', 'DJANGO_SETTINGS_MODULE': 'sggsite.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': '/Users/ sethgottlieb', 'HTTP_ACCEPT': 'text/xml,application/xml,application/ xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en- US,en;q=0.9,ja;q=0.8,fr;q=0.7,de;q=0.6,es;q=0.5,it;q=0.4,nl;q=0.3,sv;q=0.2,nb;q=0.1', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_HOST': 'localhost:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en; rv:1.8.1.14) Gecko/20080512 Camino/1.6.1 (like Firefox/2.0.0.14)', 'JAVA_HOME': '/System/Library/Frameworks/ JavaVM.framework/Home', 'LANG': 'en_US.UTF-8', 'LOGNAME': 'sethgottlieb', 'MANPATH': '/usr/share/man:/usr/local/share/man:/usr/ X11/man', 'OLDPWD': '/Users/sethgottlieb/Documents/workspace/dproto', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/ opt/local/bin', 'PATH_INFO': '/admin/', 'PWD': '/Users/sethgottlieb/ Documents/workspace/dproto/sggsite', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': '', 'SECURITYSESSIONID': '6baa70', 'SERVER_NAME': 'bricolagedemo.local', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.5.1', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/ tmp/launch-WZ3B0n/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '240', 'TMPDIR': '/var/ folders/-y/-yoW8z14EBWbbHRKrzrxAU+++TI/-Tmp-/', 'TZ': 'America/ Boston', 'USER': 'sethgottlieb', 'XFC_HOME': '/opt/local/xfc-41', '_': '/usr/bin/python', '__CF_USER_TEXT_ENCODING': '0x1F5:0:0', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x170b0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x13388b0>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}> view_func <function _wrapped_view_func at 0x13de2b0> * /Library/Python/2.5/site-packages/django/contrib/admin/views/ decorators.py in _display_login_form 22. else: 23. post_data = _encode_post_data({}) 24. return render_to_response('admin/login.html', { 25. 'title': _('Log in'), 26. 'app_path': escape(request.path), 27. 'post_data': post_data, 28. 'error_message': error_message 29. }, context_instance=template.RequestContext(request)) ... 30. 31. def _encode_post_data(post_data): 32. pickled = pickle.dumps(post_data) 33. pickled_md5 = md5.new(pickled + settings.SECRET_KEY).hexdigest() 34. return base64.encodestring(pickled + pickled_md5) 35. ▶ Local vars Variable Value error_message '' post_data 'KGRwMQouNTZhYzcyYjU1M2M1NDQzMTQ4NjZjY2EwYWY2MGRmZWI=\n' request <WSGIRequest GET:<MultiValueDict: {}>, POST:<MultiValueDict: {}>, COOKIES:{}, META:{'Apple_PubSub_Socket_Render': '/tmp/launch- yBPenp/Render', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DAISY_HOME': '/opt/local/daisy', 'DISPLAY': '/tmp/launch-U2kgvx/:0', 'DJANGO_SETTINGS_MODULE': 'sggsite.settings', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': '/Users/ sethgottlieb', 'HTTP_ACCEPT': 'text/xml,application/xml,application/ xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en- US,en;q=0.9,ja;q=0.8,fr;q=0.7,de;q=0.6,es;q=0.5,it;q=0.4,nl;q=0.3,sv;q=0.2,nb;q=0.1', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_HOST': 'localhost:8000', 'HTTP_KEEP_ALIVE': '300', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en; rv:1.8.1.14) Gecko/20080512 Camino/1.6.1 (like Firefox/2.0.0.14)', 'JAVA_HOME': '/System/Library/Frameworks/ JavaVM.framework/Home', 'LANG': 'en_US.UTF-8', 'LOGNAME': 'sethgottlieb', 'MANPATH': '/usr/share/man:/usr/local/share/man:/usr/ X11/man', 'OLDPWD': '/Users/sethgottlieb/Documents/workspace/dproto', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/ opt/local/bin', 'PATH_INFO': '/admin/', 'PWD': '/Users/sethgottlieb/ Documents/workspace/dproto/sggsite', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': '', 'SECURITYSESSIONID': '6baa70', 'SERVER_NAME': 'bricolagedemo.local', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.5.1', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/ tmp/launch-WZ3B0n/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '240', 'TMPDIR': '/var/ folders/-y/-yoW8z14EBWbbHRKrzrxAU+++TI/-Tmp-/', 'TZ': 'America/ Boston', 'USER': 'sethgottlieb', 'XFC_HOME': '/opt/local/xfc-41', '_': '/usr/bin/python', '__CF_USER_TEXT_ENCODING': '0x1F5:0:0', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x170b0>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x13388b0>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}> * /Library/Python/2.5/site-packages/django/shortcuts/__init__.py in render_to_response 3. # for convenience's sake. 4. 5. from django.template import loader 6. from django.http import HttpResponse, Http404 7. from django.db.models.manager import Manager 8. 9. def render_to_response(*args, **kwargs): 10. return HttpResponse(loader.render_to_string(*args, **kwargs)) ... 11. load_and_render = render_to_response # For backwards compatibility. 12. 13. def get_object_or_404(klass, *args, **kwargs): 14. if isinstance(klass, Manager): 15. manager = klass 16. klass = manager.model ▶ Local vars Variable Value args ('admin/login.html', {'app_path': '/admin/', 'error_message': '', 'post_data': 'KGRwMQouNTZhYzcyYjU1M2M1NDQzMTQ4NjZjY2EwYWY2MGRmZWI= \n', 'title': 'Log in'}) kwargs {'context_instance': [{'LANGUAGES': (('ar', 'Arabic'), ('bn', 'Bengali'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('es', 'Spanish'), ('es_AR', 'Argentinean Spanish'), ('fi', 'Finnish'), ('fr', 'French'), ('gl', 'Galician'), ('hu', 'Hungarian'), ('he', 'Hebrew'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('kn', 'Kannada'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('pl', 'Polish'), ('pt', 'Portugese'), ('pt-br', 'Brazilian'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sr', 'Serbian'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-us'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x13f7930>, 'messages': [], 'user': <django.contrib.auth.models.AnonymousUser object at 0x13fc190>}, {}]} * /Library/Python/2.5/site-packages/django/template/loader.py in render_to_string 94. get_template, or it may be a tuple to use select_template to find one of 95. the templates in the list. Returns a string. 96. """ 97. dictionary = dictionary or {} 98. if isinstance(template_name, (list, tuple)): 99. t = select_template(template_name) 100. else: 101. t = get_template(template_name) ... 102. if context_instance: 103. context_instance.update(dictionary) 104. else: 105. context_instance = Context(dictionary) 106. return t.render(context_instance) 107. ▶ Local vars Variable Value context_instance [{'LANGUAGES': (('ar', 'Arabic'), ('bn', 'Bengali'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('es', 'Spanish'), ('es_AR', 'Argentinean Spanish'), ('fi', 'Finnish'), ('fr', 'French'), ('gl', 'Galician'), ('hu', 'Hungarian'), ('he', 'Hebrew'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('kn', 'Kannada'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('pl', 'Polish'), ('pt', 'Portugese'), ('pt-br', 'Brazilian'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sr', 'Serbian'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-us'}, {}, {'perms': <django.core.context_processors.PermWrapper object at 0x13f7930>, 'messages': [], 'user': <django.contrib.auth.models.AnonymousUser object at 0x13fc190>}, {}] dictionary {'app_path': '/admin/', 'error_message': '', 'post_data': 'KGRwMQouNTZhYzcyYjU1M2M1NDQzMTQ4NjZjY2EwYWY2MGRmZWI=\n', 'title': 'Log in'} template_name 'admin/login.html' * /Library/Python/2.5/site-packages/django/template/loader.py in get_template 72. raise TemplateDoesNotExist, name 73. 74. def get_template(template_name): 75. """ 76. Returns a compiled Template object for the given template name, 77. handling template inheritance recursively. 78. """ 79. source, origin = find_template_source(template_name) ... 80. template = get_template_from_string(source, origin, template_name) 81. return template 82. 83. def get_template_from_string(source, origin=None, name=None): 84. """ 85. Returns a compiled Template object for the given template code, ▶ Local vars Variable Value template_name 'admin/login.html' * /Library/Python/2.5/site-packages/django/template/loader.py in find_template_source 65. template_source_loaders.append(func) 66. for loader in template_source_loaders: 67. try: 68. source, display_name = loader(name, dirs) 69. return (source, make_origin(display_name, loader, name, dirs)) 70. except TemplateDoesNotExist: 71. pass 72. raise TemplateDoesNotExist, name ... 73. 74. def get_template(template_name): 75. """ 76. Returns a compiled Template object for the given template name, 77. handling template inheritance recursively. 78. """ ▶ Local vars Variable Value dirs None loader <function load_template_source at 0x13ded30> name 'admin/login.html' Traceback (most recent call last): File "/Library/Python/2.5/site-packages/django/core/handlers/base.py" in get_response 77. response = callback(request, *callback_args, **callback_kwargs) File "/Library/Python/2.5/site-packages/django/contrib/admin/views/ decorators.py" in _checklogin 66. return _display_login_form(request, message) File "/Library/Python/2.5/site-packages/django/contrib/admin/views/ decorators.py" in _display_login_form 29. }, context_instance=template.RequestContext(request)) File "/Library/Python/2.5/site-packages/django/shortcuts/__init__.py" in render_to_response 10. return HttpResponse(loader.render_to_string(*args, **kwargs)) File "/Library/Python/2.5/site-packages/django/template/loader.py" in render_to_string 101. t = get_template(template_name) File "/Library/Python/2.5/site-packages/django/template/loader.py" in get_template 79. source, origin = find_template_source(template_name) File "/Library/Python/2.5/site-packages/django/template/loader.py" in find_template_source 72. raise TemplateDoesNotExist, name TemplateDoesNotExist at /admin/ admin/login.html I don't even know where to start to look for the templates for the admin. I looked under site packages: /Library/Python/2.5/site-packages/django/contrib/admin But got nothing. Does anyone have any hints where I should be looking? Did I miss a setup step? Thanks, Seth --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---