So after doing some more research and playing around with the settings, I 
want to post an updated version of my question.  Here it is.

I'm building a blog, with models "Post" and "Image" like so:

class Post(models.Model):
    title = models.CharField(max_length=1000)
    author = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    text = models.TextField(max_length=10000)

class Image(models.Model):
    post = models.ForeignKey(Post, related_name='images')
    image = models.ImageField(upload_to='photos/%Y/%m/%d')
    caption = models.CharField(max_length=1000,blank=True)

I've been trying to implement the Dojo rich editor in my admin site by 
following the example here:

http://lazutkin.com/blog/2011/mar/13/using-dojo-rich-editor-djangos-admin/

However, there's some kind of interference between settings in my admin.py 
file that is keeping me from registering both the rich editor and a 
ModelAdmin class for uploading images associated with an instance of 
"Post." If I use the following code in my admin.py file:

from django.contrib.admin import site, ModelAdmin
import models

class CommonMedia:
    js = (
      'https://ajax.googleapis.com/ajax/libs/dojo/1.6.0/dojo/dojo.xd.js',
      'editor.js',
    )
    css = {
      'all': ('editor.css',),
    }

site.register(models.Post,
    Media = CommonMedia,
)

The rich text editor shows up fine. But if I add some code for image 
uploading fields, like so:

from blogs.models import Post,Image
from django.contrib import admin
from django.contrib.admin import site, ModelAdmin
import models


class CommonMedia:
  js = (
    'https://ajax.googleapis.com/ajax/libs/dojo/1.6.0/dojo/dojo.xd.js',
    'editor.js',
  )
  css = {
    'all': ('editor.css',),
  }

class PostImageInline(admin.TabularInline):
    model = Image
    extra = 5

class PostAdmin(admin.ModelAdmin):
    inlines = [PostImageInline]

site.register(models.Post,
    list_display = ('text',),
    search_fields = ['text',],
    Media = CommonMedia,
)

admin.site.unregister(Post)

admin.site.register(Post, PostAdmin)

the rich editor doesn't show up. I'm guessing this is due to the 
"admin.site.unregister(Post)" line, but if I don't use that I get the 
error, "The model Post is already registered." If instead I remove both 
that line and the "Post" from "admin.site.register(Post, PostAdmin)", I get 
the error: "'MediaDefiningClass' object is not iterable".  I know I must be 
going about registering my ModelAdmin and the rich editor incorrectly, but 
I can't seem to find any documentation online about "admin.site.register" 
and "site.register," so I'm totally stuck.  Any help on this would be much 
appreciated!

cheers,

Guillaume

On Tuesday, May 1, 2012 1:34:31 PM UTC+8, Gchorn wrote:
>
> Hi All,
>
> I'm building a blog, with models "Post" and "Image" (each blog post can 
> have multiple images; they're related by ForeignKey) and I'm trying to 
> implement the Dojo rich editor in my admin site by following the example 
> here: 
>
> https://gist.github.com/868595
>
> However, the rich editor is not showing up.  I have a feeling I don't have 
> something set up correctly in my admin.py file; could anyone tell me what 
> it is?  Here are the contents of admin.py:
>
> from blogs.models import Post,Image
> from django.contrib import admin
> from django.contrib.admin import site, ModelAdmin
> import models
>
>
> class CommonMedia:
>   js = (
>     'https://ajax.googleapis.com/ajax/libs/dojo/1.6.0/dojo/dojo.xd.js',
>     '/home/guillaume/mysite/blogs/static/editor.js',
>   )
>   css = {
>     'all': ('/home/guillaume/mysite/blogs/static/editor.css',),
>   }
>
> class PostImageInline(admin.TabularInline):
>     model = Image
>     extra = 5
>
> class PostAdmin(admin.ModelAdmin):
>     inlines = [PostImageInline]
>
> site.register(models.Post,
>     list_display = ('text',),
>     search_fields = ['text',],
>     Media = CommonMedia,
> )
>
> admin.site.unregister(Post)
>
> admin.site.register(Post, PostAdmin)
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/DbT0JenkPsYJ.
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.

Reply via email to