立即注册

从零开始,编程论坛

广告联系qq1031180668喜欢网购的小伙伴们看过来啦
查看: 160|回复: 0

[python] django项目中使用markdown编辑器和显示

[复制链接]
  • ta_mind

    2019-8-30 13:16
  • classn_01: 73 classn_02

    [LV.6]常住居民II

    1054

    主题

    1776

    帖子

    3672

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    3672

    最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

    发表于 2019-9-19 16:16:06 | 显示全部楼层 |阅读模式
    django项目中使用markdown编辑器
    当前环境:
    python: 3.6.5
    django: 1.11

    开始配置django编辑器。
    1.安装 django-mdeditor。
    django-mededitor 是基于 Editor.md 的一个 django Markdown 文本编辑插件应用。
    [Python] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    pip install django-]
    2. 在项目Setting.py中的IINSTALLED_APPS添加app
    [Python] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    IINSTALLED_APPS = [
        ...
        'mdeditor',
    ]
    3. 配置静态资源(图片)上传地址
    MEDIA_ROOT = os.path.join(BASE_DIR)MEDIA_URL =
    需要在项目根目录下创建文件夹: uploads/editor/
    4. 配置路由
    fr
    [Python] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    om django.conf.urls urlincludefrom django.contrib admin
    from django.conf.urls.static static
    from django.conf settings
    urlpatterns = [   
     url(admin.site.urls)url(include())]
    settings.DEBUG:    
    urlpatterns += static(settings.MEDIA_URL=settings.MEDIA_ROOT)
    5.  创建一个app:
    [Python] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    django-admin startapp articles
        在 articles app中的 mmodels.py 中添加 mode:
    f
    [Python] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    rom django.db models
    from mdeditor.fields MDTextField
    class Article(models.Model):   
     name = models.CharField(==)    
    content = MDTextField()
    6. 注册到 admin中
       在 articles app中的 admin.py 中 注册应用。
    f
    [Python] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    rom django.contrib adminarticles.models Article
    admin.site.register(Article)
    7. 登陆到 admin,尽情创作吧!
    image_20190730180948_599.png

    编辑完毕,在前端如何显示呢??
    1. 安装 markdown
    [Python] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    pip install markdown
    2.  在展示详情的页面中引入markdown
    [Python] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    import markdown
    3. 对 详情做转义处理
    [Python] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    from django.shortcuts render
    from articles models
    import markdown
    def index(request):
        article = models.Article.objects.get(pk=2)
        article.content = markdown.markdown(article.content, extensions=[
            'markdown.extensions.extra',
            'markdown.extensions.codehilite',
            'markdown.extensions.toc',
        ])
        return render(request, 'index.html', {'article': article})

    4. 在前端 做修改

    django项目中使用markdown编辑器和显示

    django项目中使用markdown编辑器和显示

    最后,一起如你所愿了!






    不积跬步,无以至千里
    游客
    回复
    您需要登录后才可以回帖 登录 | 立即注册

    手机版|Archiver|小黑屋|sitemap| 从零开始,编程论坛 - 一个单纯的编程学习交流论坛 ( 豫ICP备15032706号 )

    GMT+8, 2019-10-16 00:35 , Processed in 1.092912 second(s), 27 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表