質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

770閲覧

Django: markdownの表示方法

退会済みユーザー

退会済みユーザー

総合スコア0

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/03/25 10:10

編集2020/03/25 10:18

実現したいこと

mdeditorを使用してMarkdownを記述して、記述したmarkdownをmarkdown形式で表示したいです。
どなたかご教授頂けると幸いです。

理想

イメージ説明

現実

イメージ説明

現在の階層構造

こんな感じ
このcss/mdeditorのmdeditorフォルダは、ここの全てを入れてます。

該当のソースコード

HTML

1{% load markdown_extras %} 2{% load static %} 3 4<!doctype html> 5<html> 6 <head> 7 <link href="{% static 'mdeditor/css/editormd.min.css' %}" rel="stylesheet"> 8 <link href="{% static 'mdeditor/css/editormd.preview.css' %}" rel="stylesheet"> 9 </head> 10 11 <body> 12 {{ post.contents|markdown|safe }} 13 </body> 14 <script src="{% static 'mdeditor/js/jquery.min.js' %}"></script> 15 <script src="{% static 'mdeditor/js/editormd.min.js' %}"></script> 16 <script src="{% static 'mdeditor/js/lib/marked.min.js' %}"></script> 17 <script src="{% static 'mdeditor/js/lib/prettify.min.js' %}"></script> 18 <script src="{% static 'mdeditor/js/lib/raphael.min.js' %}"></script> 19 <script src="{% static 'mdeditor/js/lib/underscore.min.js' %}"></script> 20 <script src="{% static 'mdeditor/js/lib/sequence-diagram.min.js' %}"></script> 21 <script src="{% static 'mdeditor/js/lib/flowchart.min.js' %}"></script> 22 <script src="{% static 'mdeditor/js/lib/jquery.flowchart.min.js' %}"></script> 23 <script> 24 $(function () { 25 editormd.markdownToHTML("content", { 26 emoji : true, 27 taskList : true, 28 tex : true, 29 flowChart : true, 30 sequenceDiagram : true, 31 }); 32 $(".reference-link").each(function (i,obj) { 33 console.log(obj) 34 }) 35 }) 36 </script> 37</html>

markdown_extras

1from django import template 2from django.template.defaultfilters import stringfilter 3 4import markdown as md 5 6register = template.Library() 7 8@register.filter() 9@stringfilter 10def markdown(value): 11 return md.markdown(value, extensions=['markdown.extensions.fenced_code']) 12

参考にしたサイト

この通りに進めてます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

回答依頼ありがとうございます。
参考にされてる記事に記述はないですが、確かカスタムタグを使う場合はsetting.pyに追記が必要です。

python

1TEMPLATES = [ 2 { 3 'OPTIONS': { 4 'context_processors': [ 5 ], 6 'builtins': [ 7 ], 8 'libraries': { #これがなかった場合は追記 9 'markdown_extras': '(アプリ名).templatetags.markdown_extras', #追記 10 } 11 }, 12 }, 13]

一度これを試してみてください。
よろしくお願いします。

投稿2020/03/25 11:16

llr114

総合スコア203

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/03/26 05:16

回答の程、ありがとうございます。 カスタムタグを使用する場合にsetting.pyに追記が必要だったとは知りませんでした。 追記させて頂きましたが、変更がされませんでした。
llr114

2020/03/26 05:48

あ、勘違いしてたかもしれません。 参考にされているサイトの、 Markdownで編集したコンテンツをtemplateへhtmlで表示させる は問題なく完了していて、 mdeditorプレビューのスタイリングをフロントにも適用する方法 ができていない、ということでしょうか?
退会済みユーザー

退会済みユーザー

2020/03/26 06:39

いえ、templateへhtmlで表示させることが出来てないのです。 分かりづらくて申し訳ございません。
退会済みユーザー

退会済みユーザー

2020/03/26 06:40

mdeditorプレビューをhtmlで表示したいのです。
llr114

2020/03/26 07:03

そうすると、マークダウンの表示はできている気がします。 具体的に、どの文字列ができていないんでしょうか? 参考にされているサイトを見る限り、質問に表示してある理想、の形は mdeditorプレビューのスタイリングをフロントにも適用する方法 を実施した後に出来上がるものだと思います。
退会済みユーザー

退会済みユーザー

2020/03/26 07:31

mdeditorプレビューがそのままHTMLに表示されると思っていたのですが、そうではないということでしょうか?
退会済みユーザー

退会済みユーザー

2020/03/26 07:32

個人的には、引用、コードや表がプレビューのように表示されることを期待していました。
退会済みユーザー

退会済みユーザー

2020/03/26 07:35

https://yuki.world/django-markdown-implement/ の mdeditorプレビューのスタイリングをフロントにも適用する方法 をすればその上に貼り付けられている写真のように表示可能だと思ったのですが...
llr114

2020/03/28 18:16

「個人的には、引用、コードや表がプレビューのように表示されることを期待していました。」 →これを行うには、参考サイトの mdeditorプレビューのスタイリングをフロントにも適用する方法 をすればいけるはずです。 「いえ、templateへhtmlで表示させることが出来てないのです。」 とコメントでおっしゃっていたので、その前段階(Markdownで編集したコンテンツをtemplateへhtmlで表示させる)で止まっていると思っていたのですが、認識が違いますでしょうか?
退会済みユーザー

退会済みユーザー

2020/04/01 03:30

返信が遅くなり申し訳ございません。 以下のように記述することに解決可能です。 <div> <div id="content">{{ post.contents|markdown|safe }}</div> </div>
退会済みユーザー

退会済みユーザー

2020/04/01 03:32

ご協力頂きありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問