0
我試圖通過使用數組分割它在Django很長的字符串,但我成功地做了django-markdown-deux 停止工作。Django 1.11分頁Markdown
這裏是我是如何實現它: models.py:
class Post(models.Model):
content = models.TextField()
def get_markdown(self):
content = self.content
markdown_text = markdown(content)
return mark_safe(markdown_text)
views.py:
def post_detail(request, slug=None): #retrieve
instance = get_object_or_404(Post, slug=slug)
#Detect the breaklines from DB and split the paragraphs using it
tempInstance = instance.content
PaginatedInstance = tempInstance.split("\r\n\r\n")
paginator = Paginator(PaginatedInstance, 5) #set how many paragraph to show per page
page = request.GET.get('page', 1)
try:
Paginated = paginator.page(page)
except PageNotAnInteger:
Paginated = paginator.page(1)
except EmptyPage:
Paginated = paginator.page(paginator.num_pages)
context = {
"instance": instance,
"Paginated": Paginated, #will use this to display the story instead of instance (divided string by paragraph)
}
return render(request, "post_detail.html", context)
post_detail.html:
這是工作的一個(不分頁):
{{ instance.get_markdown }}
這一個工程作爲純文本如果刪除.get_markdown,如果我把.get_markdown
{% for paginatedText in Paginated %}
{{ paginatedText.get_markdown }}
{% endfor %}
它的工作但有次說,我插入使用降價形式的影像時,不會顯示。 –
每當我添加一個圖像,降價形式將生成此代碼:'![enter image description here] [1]'在我想要圖像顯示的位置,並且這個: '[1]:link- image.com \ image.png'在內容的最後部分,除非我將''旁邊的'[1]:link-to-image.com \ image.png'複製出來,否則這些內容將不起作用![enter image description here] [1]' –
對。 Pagninator不是Markdown意識到的。它假設一個更簡單的純文本。您或者需要以分頁程序無法打破的方式格式化Markdown,或者使用更復雜的分頁程序。就個人而言,我建議將Markdown轉換爲HTML作爲整個文檔,然後對HTML進行分頁。但是,這超出了這個問題的範圍。 – Waylan