加载初始文本,进入CKEditor



我已经集成了CKEditor到我的django应用程序,我能够轻松地将文本保存到我的数据库。但是我找不到编辑数据的方法。我无法找到一种方法来加载文本到编辑器。

models.py

class BlogContent(models.Model):
    emailID = models.EmailField()
    username = models.CharField(max_length=20)
    blogID = UUIDField(auto=True)
    blogHead = models.CharField(max_length=200)
    blogBody = RichTextField()
    blogDateTime = models.DateTimeField(auto_now=True)

form.py

class addBlog(forms.ModelForm):
    class Meta:
        model = BlogContent
        fields = ['blogHead', 'blogBody']
        widget = {'blogBody': CKEditorWidget()}

view.py

def addNewArticle(request):
    form = addBlog()
    args = {"form": form}
    args.update(csrf(request))
    return render_to_response("addNewArticle.html", args)

如何实现呢?

只需在表单中实例化一个散列,该散列必须具有下一个结构:

{"field_name": "value"}

所以把这行改成

 form = addBlog()

:

 form = addBlog({"blogBody": "valueFromDatabase"})

这可以与ModelFormForms一起工作,但对于ModelForms,你也可以从ModelForm使用的模型中传递一个实例,所以这也可以工作。

 instance = BlogContent.objects.get(id=1)
 form = addBlog(instance=instance)

最新更新