我是django的新手,并创建了一个简单的博客应用,现在尝试在评论中添加markdown:
这是评论模型:
class Comment(models.Model):
created = models.DateTimeField(auto_now_add=True)
author = models.CharField(max_length=60)
body = models.TextField()
post = models.ForeignKey(Blog)
def __unicode__(self):
return unicode("%s: %s" % (self.post, self.body[:60]))
在post.html中,我有:
<!-- Add Comments -->
{% if user.is_authenticated %}
<div id="addc">Your Comment?</div>
<!-- Comment form -->
<form action="{% url "blog.views.add_comment" post.id %}" method="POST">{% csrf_token %}
<div id="comment-form">
<p>{{ form.body }}</p>
</div>
<div id="submit"><input type="submit" value="Submit"></div>
</form>
{% endif %}
以及呈现帖子(和评论)的视图:
def post_withslug(request, post_slug):
post = Blog.objects.get(slug = post_slug)
comments = Comment.objects.filter(post=post)
d = dict(post=post, comments=comments, form=CommentForm(), user=request.user)
d.update(csrf(request))
return render_to_response("blog/post.html", d)
在form.py中,我有:
from django_markdown.widgets import MarkdownWidget
class CommentForm(forms.ModelForm):
body = forms.CharField(widget=MarkdownWidget())
class Meta:
model= Comment
fields= ('body',)
我已经将django-markdown用于管理后端,并且在那里可以正常工作,但是我不确定如何将这个应用程序(或其他具有相同效果的东西)应用于博客评论,而且我找不到关于它的任何教程。因此,感谢您的帮助。
您需要为Comment模型编写一个自定义表格
评论/forms.py
from django_markdown.widgets import MarkdownWidget
...
class CommentForm(forms.Form):
body = forms.CharField( widget=MarkdownWidget() )
假设您没有在模板中显式定义资源,但是markdown小部件将为编辑器添加必要的js和css到页面,但是您的表单或视图需要将评论与正确的帖子和用户相关联。
在显示侧,显示评论时需要使用markdown templatetag
评论/模板/comment.html
{% load django_markdown %}
...
{{ comment.author }} //etc
{{ comment.body|markdown }}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句