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