我真的很想在Django中实现一个文本编辑器的简单明了的示例,就像建议的pagedown
或markdownx
一样。我无法在Django 2.0中使用这两种解决方案中的任何一种,而且我发现的所有参考资料(包括文档)都与Django的较早版本有关。
我只希望模型中的一个字段是这样的文本编辑器,其中包括上载图像和使用LaTeX / markdown。
我已按照markdownx
文档中的指示进行操作,尤其是您建立模型的步骤:http://neutronx.github.io/django-markdownx/example.html。在管理员中进行设置后,出现有关PIL的错误。尝试使用ImageField
上传图像时也遇到错误。我虽然安装了枕头...
最佳答案
我昨天刚刚安装了pagedown,并且运行良好。
在您的设置中将Pagedown添加到应用中。
INSTALLED_APPS = [
...
'pagedown',
]
然后,只需在admin类中覆盖模型的文本字段即可。
from django.db import models
from pagedown.widgets import AdminPagedownWidget
from blog.models import Post
class PostAdmin(admin.ModelAdmin):
list_display = ('title', 'date_created', 'date_updated')
formfield_overrides = {
models.TextField: {'widget': AdminPagedownWidget},
}
admin.site.register(Post, PostAdmin)
顺便说一句,我使用了Django 2.1.1和Pagedown 1.0.6。
如果这不起作用,请检查您的Pagedown版本是否为最新版本。