我已经集成了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"})
这可以与ModelForm
或Forms
一起工作,但对于ModelForms
,你也可以从ModelForm使用的模型中传递一个实例,所以这也可以工作。
instance = BlogContent.objects.get(id=1)
form = addBlog(instance=instance)