Executing the url "http://127.0.0.1:8000/admin" gives me a Template error with the problem area being: {% url django-admindocs-docroot as docsroot %} (the actual error dump is at the bottom of this explanation.)
/Volumes/Data1/Caster/gallery/items/urls.py causes the problem: (See it below) The problem goes away if I comment out the 4th URL pattern. To solve the problem I was referred to: http://code.djangoproject.com/ticket/9941#comment:1 It recommends to add the following to url config, so that {% url django-admindocs-docroot as docroot %} wouldn't fail in the admin: (r'^admin/doc/', include('django.contrib.admindocs.urls')), I have three URL Confs. I added it to each in turn but the problem wasn't solved. Here is my project layout: /Volumes/Data1/Caster/gallery/ Dango project urls.py real_urls.py settings.py /Volumes/Data1/Caster/gallery/items /Volumes/Data1/Caster/gallery/media /Volumes/Data1/Caster/gallery/db /Volumes/Data1/Caster/gallery/templates /Volumes/Data1/Caster/gallery/amedia /Volumes/Data1/Caster/gallery/items/ Dango app urls.py models.py fields.py /Volumes/Data1/Caster/gallery/settings.py # Django settings for gallery project. DEBUG = True TEMPLATE_DEBUG = DEBUG ADMINS = ( ('TokyoDan', 'tokyod...@gmail.com'), ) MANAGERS = ADMINS DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. DATABASE_NAME = 'db/gallery_db' # Or path to database file if using sqlite3. DATABASE_USER = '' # Not used with sqlite3. DATABASE_PASSWORD = '' # Not used with sqlite3. DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3. DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3. TIME_ZONE = 'Asia/Tokyo' LANGUAGE_CODE = 'en-us' SITE_ID = 1 USE_I18N = True MEDIA_ROOT = '' ROOT_URL = 'http://127.0.0.1:8000' MEDIA_URL = 'http://127.0.0.1:8000/' ADMIN_MEDIA_PREFIX = '/amedia/' SECRET_KEY = 'g!*j(9^kp3%=...@c_cp%6cq8gc#k3l2@lee(rhs&g!w!)t6jd' TEMPLATE_LOADERS = ( 'django.template.loaders.filesystem.load_template_source', 'django.template.loaders.app_directories.load_template_source', # 'django.template.loaders.eggs.load_template_source', ) MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', ) ROOT_URLCONF = 'gallery.urls' TEMPLATE_DIRS = ( '/templates/' ) INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.admin', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'gallery.items', ) /Volumes/Data1/Caster/gallery/urls.py from django.conf.urls.defaults import * urlpatterns = patterns('', (r'', include('gallery.real_urls')), ) /Volumes/Data1/Caster/gallery/real_urls.py from django.conf.urls.defaults import * from django.contrib import * admin.autodiscover() urlpatterns = patterns('', (r'^admin/(.*)', admin.site.root), (r'^', include('gallery.items.urls')), ) /Volumes/Data1/Caster/gallery/items/urls.py from django.conf.urls.defaults import * from gallery.items.models import Item, Photo urlpatterns = patterns('django.views.generic', url(r'^$', 'simple.direct_to_template', kwargs={ 'template': 'index.html', 'extra_content': {'item_list': lambda: Item.objects.all()} }, name='index' ), url(r'^items/$', 'list_detail.object_list', kwargs={ 'queryset': Item.objects.all(), 'template_name': 'items_list.html', 'allow_empty': True }, name='item_list' ), url(r'^items/(?P<object_id>\d+)/$', 'list_detail.object_detail', kwargs={ 'queryset': Item.objects.all(), 'template_name': 'items_detail.html' }, name='item_detail' ), # # Uncommenting the lines below cause the problem: # url(r'^photos/(?P<object.id>\d+)/$', 'list_detail.object_detail', # kwargs={ # 'queryset': Photo.objects.all(), # 'template_name': 'photos_detail.html' # }, # name='photo_detail' # ), ) /Volumes/Data1/Caster/gallery/items/models.py from django.db import models from django.contrib import admin from django.db.models import permalink from gallery.items.fields import ThumbnailImageField class Item(models.Model): name = models.CharField(max_length=250) description = models.TextField() class Meta: ordering = ['name'] def __unicode__(self): return self.name @permalink def get_absolute_url(self): return ('item_detail', None, {'object_id': self.id}) class Photo(models.Model): item = models.ForeignKey(Item) title = models.CharField(max_length=100) # image = models.ImageField(upload_to='media') image = ThumbnailImageField(upload_to='media') caption = models.CharField(max_length=250, blank=True) class Meta: ordering = ['title'] def __unicode__(self): return self.title @permalink def get_absolute_url(self): return ('photo_detail', None, {'object_id': self.id}) class PhotoInLine(admin.StackedInline): model = Photo class ItemAdmin(admin.ModelAdmin): inlines = [PhotoInLine] admin.site.register(Item, ItemAdmin) admin.site.register(Photo) /Volumes/Data1/Caster/gallery/items/fields.py from django.db.models.fields.files import ImageField, ImageFieldFile from PIL import Image import os def _add_thumb(s): parts = s.split(".") parts.insert(-1, "thumb") if parts[-1].lower() not in ['jpeg', 'jpg']: parts[-1] = 'jpg' return ".".join(parts) class ThumbnailImageFieldFile(ImageFieldFile): def _get_thumb_path(self): return _add_thumb(self.path) thumb_path = property(_get_thumb_path) def _get_thumb_url(self): return _add_thumb(self.url) thumb_url = property(_get_thumb_url) def save(self, name, content, save=True): super(ThumbnailImageFieldFile, self).save(name, content, save) img = Image.open(self.path) img.thumbnail( (self.field.thumb_width, self.field.thumb_height), Image.ANTIALIAS ) img.save(self.thumb_path, 'JPEG') def delete(self, save=True): if os.path.exists(self.thumb_path): os.remove(self.thumb_path) super(ThumbnailImageFieldFile, self).delete(save) class ThumbnailImageField(ImageField): attr_class = ThumbnailImageFieldFile def __init__(self, thumb_width=128, thumb_height=128, *args, **kwargs): self.thumb_width = thumb_width self.thumb_height = thumb_height super(ThumbnailImageField, self).__init__(*args, **kwargs) ------------- ERROR ------------------------------ Environment: Request Method: GET Request URL: http://127.0.0.1:8000/admin/ Django Version: 1.0.2 final Python Version: 2.6.1 Installed Applications: ['django.contrib.auth', 'django.contrib.admin', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'gallery.items'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware') Template error: In template /opt/local/Library/Frameworks/Python.framework/Versions/ 2.6/lib/python2.6/site-packages/django/contrib/admin/templates/admin/ base.html, error at line 25 Caught an exception while rendering: bad character in group name 15 : <!-- Container --> 16 : <div id="container"> 17 : 18 : {% if not is_popup %} 19 : <!-- Header --> 20 : <div id="header"> 21 : <div id="branding"> 22 : {% block branding %}{% endblock %} 23 : </div> 24 : {% if user.is_authenticated and user.is_staff %} 25 : <div id="user-tools">{% trans 'Welcome,' %} <strong>{% firstof user.first_name user.username %}</strong>. {% block userlinks %} {% url django-admindocs-docroot as docsroot %} {% if docsroot %}<a href="{{ docsroot }}">{% trans 'Documentation' %}</a> / {% endif %}<a href="{{ root_path }}password_change/">{% trans 'Change password' %}</ a> / <a href="{{ root_path }}logout/">{% trans 'Log out' %}</a>{% endblock %}</div> 26 : {% endif %} 27 : {% block nav-global %}{% endblock %} 28 : </div> 29 : <!-- END Header --> 30 : {% block breadcrumbs %}<div class="breadcrumbs"><a href="/">{% trans 'Home' %}</a>{% if title %} › {{ title }}{% endif %}</div>{% endblock %} 31 : {% endif %} 32 : 33 : {% if messages %} 34 : <ul class="messagelist">{% for message in messages %} <li>{{ message }}</li>{% endfor %}</ul> 35 : {% endif %} Traceback: File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/core/handlers/base.py" in get_response 86. response = callback(request, *callback_args, **callback_kwargs) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/contrib/admin/sites.py" in root 144. return self.index(request) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/views/decorators/cache.py" in _wrapped_view_func 44. response = view_func(request, *args, **kwargs) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/contrib/admin/sites.py" in index 318. context_instance=template.RequestContext(request) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/shortcuts/__init__.py" in render_to_response 18. return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/loader.py" in render_to_string 107. return t.render(context_instance) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/__init__.py" in render 176. return self.nodelist.render(context) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/__init__.py" in render 768. bits.append(self.render_node(node, context)) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/debug.py" in render_node 71. result = node.render(context) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/loader_tags.py" in render 97. return compiled_parent.render(context) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/__init__.py" in render 176. return self.nodelist.render(context) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/__init__.py" in render 768. bits.append(self.render_node(node, context)) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/debug.py" in render_node 71. result = node.render(context) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/loader_tags.py" in render 97. return compiled_parent.render(context) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/__init__.py" in render 176. return self.nodelist.render(context) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/__init__.py" in render 768. bits.append(self.render_node(node, context)) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/debug.py" in render_node 71. result = node.render(context) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/defaulttags.py" in render 245. return self.nodelist_true.render(context) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/__init__.py" in render 768. bits.append(self.render_node(node, context)) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/debug.py" in render_node 71. result = node.render(context) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/defaulttags.py" in render 255. return self.nodelist_true.render(context) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/__init__.py" in render 768. bits.append(self.render_node(node, context)) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/debug.py" in render_node 71. result = node.render(context) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/loader_tags.py" in render 24. result = self.nodelist.render(context) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/__init__.py" in render 768. bits.append(self.render_node(node, context)) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6/site-packages/django/template/debug.py" in render_node 81. raise wrapped Exception Type: TemplateSyntaxError at /admin/ Exception Value: Caught an exception while rendering: bad character in group name --~--~---------~--~----~------------~-------~--~----~ 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 django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---