我在django-cms上编写了一个自定义插件,并添加了一个placeholderfield。将插件添加到占位符后,我尝试使用前端编辑在占位符字段内添加插件来添加它,并抛出:在前端编辑Failed to load resource: the server responded with a status of 404 (NOT FOUND) http://localhost:8000/es/admin/cms/page/add-plugin/在控制台上出现"POST /es/admin/cms/page/add-plugin/ HTTP/1.1" 404 1620当我尝试使用管理界面或前端编辑来编辑放置在页面中的自定义插件时TypeError at /es/admin/cms/page/4/edit-plugin/14/<lambda>() takes exactly 1 argument (2 given)Request Method: GETRequest URL: http://localhost:8000/es/admin/cms/page/4/edit-plugin/14/Django Version: 1.5.1Exception Type: TypeErrorException Value: <lambda>() takes exactly 1 argument (2 given)Exception Location: /home/ed/Envs/django/local/lib/python2.7/site-packages/cms/forms/widgets.py in render, line 201Python Executable: /home/ed/Envs/django/mh/../bin/python我的插件代码如下所示型号from cms.models.pluginmodel import CMSPluginfrom cms.models.fields import PlaceholderFieldfrom django.db import models# Create your models here.class Item(CMSPlugin):title = models.CharField(max_length=100, default="Item Name",verbose_name=u'Titulo')description = PlaceholderField('Item_Description')image = models.ImageField(upload_to="uploads/images/",verbose_name=u'Imagen')imageDescription = models.CharField(max_length=50,default="Image",verbose_name=u'Descripcion de la imagen')管理员from django.contrib import adminfrom cms.admin.placeholderadmin import PlaceholderAdminfrom projects.models import Itemadmin.site.register(Item, PlaceholderAdmin)cms_plugins.pyfrom cms.plugin_base import CMSPluginBasefrom cms.plugin_pool import plugin_poolfrom cms.models.pluginmodel import CMSPluginfrom django.utils.translation import ugettext_lazy as _from models import Itemclass ItemPlugin(CMSPluginBase): model = Item name = "Item Plugin" render_template = "item_plugin.html" def render(self, context, instance, placeholder): context['instance'] = instance return context#Registers the pluginplugin_pool.register_plugin(ItemPlugin)请我想知道如何在占位符字段内放置一个插件,以免出现烦人的错误。
2 回答
狐的传说
TA贡献1804条经验 获得超3个赞
ItemPlugin需要具有PlaceholderAdmin的魔力。尝试这个:
from cms.admin.placeholderadmin import PlaceholderAdmin
...
class ItemPlugin(CMSPluginBase, PlaceholderAdmin):
...
添加回答
举报
0/150
提交
取消
