私はそうのようなモデル「ポスト」と「イメージ」で、ブログを構築しています:DjangoのDojo Rich Editor:admin.py設定を修正しますか?
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)
私はここに例 に従うことによって、私のadminサイトで道場豊富なエディタを実装しようとしてきました。
http://lazutkin.com/blog/2011/mar/13/using-dojo-rich-editor-djangos-admin/
しかし、豊富な編集者とのインスタンスに関連する画像のアップロードのためのModelAdminのクラスの両方の登録から私を保っている私のadmin.pyファイルの設定との間の干渉のいくつかの種類があります「ポスト」。私のadmin.pyファイルで次のコードを使用している場合:
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,
)
リッチテキストエディタが正常に表示されます。しかし、画像をアップロードするためのコードをいくつか追加すると、次のようになります。
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)
リッチエディタが表示されません。私はこれが "admin.site.unregister(Post)"行によるものだと推測していますが、私が使用していない場合は、 "Model Postは既に登録されています"というエラーが表示されます。代わりに、その行と "admin.site.register(Post、PostAdmin)"から "Post"の両方を削除すると、エラーが発生します: "'MediaDefiningClass'オブジェクトは反復可能ではありません。誰もがこれを解決する方法を知っているので、PostAdminとリッチエディタの両方を同じページに持つことができますか?
どのプレフィックスがURLに使用されていますか?それはSTATIC_URLプレフィックスか、あるいはsettings.pyにリストされている別のプレフィックスですか? – GChorn
'STATIC_URL + 'editor.js''、はい – ilvar
「もう1つ」を意味しますか? – ilvar