那就开始今天的教程吧
1.这一讲来完成博客网站的评论功能,评论它有信息的上传,数据库的保存,也是新建一个模块来管理所有评论相关的功能,它是一个独立的小的应用系统,也是对前面所学的知识点进行总结和回顾。
2.回到开发工具PythonWeb中,要创建一个新的应用模块,Python Manage.py startapp,名字叫comment就是评论的意思,它跟博客的应用在创建之初是一样的,加完了之后要去settings中去注册到系统,
文章的评论是有一个数据模型来对应的存储所有评论的相关信息,加的是新的comments这个应用下面,然后class,模型名字就叫comments,然后继承至models.Model,加一个name只记录它的名字,
models.CharField,它是一个文本的字段,然后maxlength也加上。
3.还想知道评论者的联系方式,就以email为例加字段,然后models.emailField,它最大的长度是60,然后评论最核心的内容加text,它是一个文本域,评论发布时间叫createdtime,
它是models.DateTimeField,需要当时的时间插到数据库里,不需要程序里边单独去处理它,autonowadd改成True就可以,默认是False的,这个时候再调用这个模型的Save方法的时候,这个字段会自动填充上。
4.评论和文章是一对多的关系,一个文章会有多条评论,每一条评论只归属一个文章,应该用【ForeignKey】,它的关系表示blog应用下面的Bloginfo,删除博客文章的时候叫ondelete等于models.CASCADE,
要有一些Meta信息,比方说class ClassMeta,比方说排序的方式跟文章一样,ordering等于createdtime的倒叙,然后verbose name就是博客评论,verbose等于VerboseName,这样数据模型就定义完了。
5.先更新脚本makemigrateions,没有问题说明model创建的是没有问题的,然后Python manage.py 然后megrit,执行创建这个表,打开数据库smartblogdb,这个表里边有comments,有一对多的外键没有另外单独的表,
创建form,把blog的form拿过来改一下,增加注册页面的表单,改个名字CommentForm,在表单上只有text一个录入项,可以根据当前登录的用户找到它的联系方式以及创建时间,这个相对来说要比较简单一些。