我真的很想在Django中实现一个文本编辑器的简单明了的示例,就像建议的pagedownmarkdownx一样。我无法在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版本是否为最新版本。

09-27 20:38