距离上一节已经快一个礼拜没有写了,我们的博客也快写完了,只不过更多的是一些进阶的学习,这一节,我们学习自己搭建一个文章评论功能
文章评论功能的实现
1 对于文章评论功能,我们可以看到成品是这样子的
django官方建议一个功能一个app,所以这样我们可以再创建一个app,这里我们把它叫做comments
1 我们在manage.py 同级目录创建app:
python manage.py startapp comments
然后打开blogproject 工程下的settings,把comments 加进去,不了解的可以看往期创建blog app的教程
2 这里我们再根据评论内容创建model
从model中,我们可以看出来,我们需要创建
name email url text created_time post
其中created_time 为自动创建, post为外键,关联到blog的的具体某篇文章
3 接下来,我们进行数据库的迁移操作
我们使用命令:
4 现在我们把数据模型都已经弄好了,接下来就是如何把数据从html标签中提交到服务器上了,当然了,django现在已经为我们做好了这些,接下来我们在model.py同级目录下创建一个forms.py ,用来存放存放表单的代码
/comments/forms.py
from django import forms
from .models import Comment
class CommentForm(forms.ModelForm):
#Meta 里指定一些和表单相关的
class Meta:
#表明这个表单对应的数据库模型是 Comment 类
model = Comment
fields = ['name','url','email','text']
5 这里代码已经解释了,接下来我们需要对提交的表单进行数据的处理,我们写一个view.py 视图函数
/comments/views.py
from django.shortcuts import render,get_object_or_404,redirect
from blog.models import Post
from .models import Comment
from .forms import CommentForm
# Create your views here.
def post_comment(request,post_pk):