私は現在、Django フレームワークを使用してコンテンツ管理システムを会社の Web サイトに構築しています。1 つのページが正常に完了した後、管理インターフェイス内のリッチ テキスト エディターを必要とする別のページで作業を開始しました。
ジョブに TinyMCE を選択したので、月曜日にそれを正しく実行するために多くの時間を費やしましたが、単純な HTMLField() を含めることができただけでした。いくつかの異なるチュートリアルに少し混乱していたので、解決策を見つけるのに苦労しているエラーに遭遇しました.StackOverflowコミュニティが助けてくれることを願っていました.
現在、次のコードがあります。
admin.py
from django.forms import *
from django.db.models import *
from tinymce.widgets import TinyMCE
from models import *
from django.contrib import admin
#class MyModelForm(forms.ModelForm):
#content = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 10}))
#class Meta:
#model = MyModel
class MyModelAdmin(admin.ModelAdmin):
form = MyModelForm
admin.site.register(MyModelForm, MyModelAdmin)
問題は models.py にあると思われるため、このコードの大部分はデバッグ目的でコメント アウトされています。
models.py
from django import forms
from django.contrib.flatpages.models import FlatPage
from tinymce.widgets import TinyMCE
class MyModelForm(forms.ModelForm):
content = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows' : 30}))
class Meta:
model = FlatPage
これは私が提示されているトレースバックです:
Environment:
Request Method: GET
Request URL: mycomputer.mydomain/company/admin/
Django Version: 1.5.1
Python Version: 2.7.3
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'cms',
'mptt',
'menus',
'south',
'sekizai',
'cms.plugins.file',
'cms.plugins.link',
'cms.plugins.picture',
'cms.plugins.text',
'reversion',
'grappelli',
'profiles',
'tinymce',
'testapp',
'django_reset')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'cms.middleware.page.CurrentPageMiddleware',
'cms.middleware.user.CurrentUserMiddleware',
'cms.middleware.toolbar.ToolbarMiddleware')
Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
103. resolver_match = resolver.resolve(request.path_info)
File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py" in resolve
319. for pattern in self.url_patterns:
File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py" in url_patterns
347. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py" in urlconf_module
342. self._urlconf_module = import_module(self.urlconf_name)
File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py" in import_module
35. __import__(name)
File "/home/systems/vhost-trunk/djangocms/companycms/companycms/urls.py" in <module>
7. admin.autodiscover()
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/__init__.py" in autodiscover
29. import_module('%s.admin' % app)
File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py" in import_module
35. __import__(name)
File "/home/systems/vhost-trunk/djangocms/companycms/testapp/admin.py" in <module>
17. admin.site.register(MyModelForm, MyModelAdmin)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in register
77. for model in model_or_iterable:
Exception Type: TypeError at /admin/
Exception Value: 'ModelFormMetaclass' object is not iterable
ご覧のとおり、tinymce は正しくインストールされているように見えますが、問題は models.ModelForm にあります。
明確でない場合の私の目的は、TinyMCE エディターを使用して編集可能な、1 つのコンテンツ フィールドを持つ単純な MyModel モデルを作成することです。状況をさらに明らかにするためにこれ以上コードを提供できると思われる場合は、お知らせください。ありがとう。