我是Django和CKEditor的新手,从过去的一周开始,我一直在努力整合Django-CKEditor的表单。它在Django管理表单中工作得非常好,但是在普通表单中却不工作。在
这是我的表单.py在
class ArticleForm(forms.ModelForm):
content = forms.CharField(widget = CKEditorWidget())
class Meta:
model = Article
fields = ['title','content','meta_description','meta_tags']
在模型.py在
^{pr2}$观点
def new_post(request):
if request.method == 'POST':
form = ArticleForm(request.POST)
if form.is_valid():
article = form.save(commit=False)
article.url = form.data['title']
article.save()
return HttpResponse('/thanks/')
else:
form = ArticleForm()
return render(request, 'blog/new-post.html', {'form': form})
为了验证它是否可以在管理中工作,我已经测试了与管理添加到管理表单。在
在管理员py在
class ArticleAdminForm(forms.ModelForm):
content = forms.CharField(widget=CKEditorWidget())
class Meta:
model = Article
class ArticleAdmin(admin.ModelAdmin):
form = ArticleAdminForm
admin.site.register(Article, ArticleAdmin)
还有一件事我正在使用bootstrap3。我的模板看起来像
<form class="form-horizontal" action="/blog/new-post/" method="post" >{% csrf_token %}
<fieldset>
<legend>New Blog Post</legend>
{{ form.non_field_errors }}
<div class="fieldWrapper form-group">
{{ form.title.errors }}
<label class="col-lg-2 control-label" for="id_title">Title</label>
<div class="controls col-lg-10 ">
<input type="text" class="col-lg-10 form-control" name="title" id="id_title}}" placeholder="Title">
</div>
</div>
<div class="fieldWrapper form-group">
{{ form.content.errors }}
<label class="col-lg-2 control-label" for="id_content">Content</label>
<div class="controls col-lg-10 ">
<textarea class="col-lg-10 form-control" rows="17"name="content" id="id_content}}" placeholder="Content"></textarea>
</div>
</div>
<div class="fieldWrapper form-group">
{{ form.meta_description.errors }}
<label class="col-lg-2 control-label" for="id_meta_description">Description</label>
<div class="controls col-lg-10 ">
<textarea class="col-lg-10 form-control" rows="5"name="meta_description" id="id_meta_description}}" placeholder="Short description about this article."></textarea>
</div>
</div>
<div class="fieldWrapper form-group">
{{ form.meta_tags.errors }}
<label class="col-lg-2 control-label" for="id_meta_tags">Tags</label>
<div class="controls col-lg-10 ">
<input type="text" class="col-lg-10 form-control" name="meta_tags" id="id_meta_tags}}" placeholder="Comma separated tags eg. trekking, hiking ">
</div>
</div>
<input type="submit" value="Publish" class="btn btn-default btn-large pull-right">
</fieldset>
</form>
任何帮助都会很好。提前谢谢
尝试在模板底部添加此脚本
当您从管理界面使用coeditor时(我猜是通过suit-ckeditor),您可以隐式地将此呈现函数用于文本区域小部件:
^{2}$基本上做同样的工作。在
我也经历过同样的问题。 我宁愿使用django-tinymce作为我的常规表单,使用ckeditor作为管理页面。在
这是我的表单.py文件:
希望这有帮助。在
我想你错过了中的
from ckeditor.fields import RichTextField
行模型.py更改
content = models.TextField()
进入
content = RichTextField(blank=True, null=True)
相关问题 更多 >
编程相关推荐