【问题标题】:Django Markdown EditorDjango 降价编辑器
【发布时间】:2018-05-07 01:24:11
【问题描述】:

我真的很想要一个在 Django 中实现文本编辑器的简单明了的示例,就像建议的 pagedown 或 markdownx。我无法让这些解决方案中的任何一个在 Django 2.0 中工作,而且我找到的所有参考资料(包括文档)都围绕着旧版本的 Django。

我只希望我的模型中的一个字段是这样的文本编辑器,包括上传图片和使用 LaTeX/markdown。

我已按照markdownx 文档中的说明进行操作,特别是您设置模型的步骤:http://neutronx.github.io/django-markdownx/example.html。在管理员中进行设置后,我收到有关 PIL 的错误。我在尝试使用 ImageField 上传图像时也遇到错误。虽然我已经安装了枕头......

【问题讨论】:

  • 你试过什么?你的代码呢?
  • 已编辑以反映 markdownx 尝试...@Lemayzeur
  • 按照文档中的说明执行所有操作。您需要的额外内容是在 settings.MARKDOWNX_MARKDOWN_EXTENSIONS 中包含“mdx_math”,类似于我在这里所做的MARKDOWNX_MARKDOWN_EXTENSIONS = [ 'mdx_math', 'markdown.extensions.sane_lists', 'markdown.extensions.nl2br', 'markdown.extensions.extra', ] 和pip install mdx_math。您还需要在模板中包含来自 Mathjax 的 javascript 文件。
  • @Inquilabi 当我尝试 pip 安装时,mdx_math 没有匹配的分布

标签: django wysiwyg pagedown django-markdown-deux


【解决方案1】:

我昨天刚刚安装了 pagedown 并且运行良好。

在您的设置中为应用添加 pagedown。

INSTALLED_APPS = [
     ...
     'pagedown',
]

然后只需在管理类中覆盖模型的文本字段。

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 版本是否是最新的。

【讨论】:

  • 好的,太好了,这行得通。我很失望,虽然这里的降价不渲染乳胶或支持语法高亮。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-28
  • 1970-01-01
  • 2014-03-07
  • 2020-11-07
  • 1970-01-01
  • 2023-04-01
  • 2021-08-01
相关资源
最近更新 更多