Day73

人走茶凉 提交于 2020-08-04 14:48:40

对于foreikey  和  manytomany

  Model类中写模型,拿到Model对象时,正向查询的时候,模型中点foreikey字段是对象,点manytomany字段是集合

  manaytomany(to='Author',throgh='Book2Authors')  这个Booke2Authors表就是中介模型(只针对多对多manytomany)

  我们这样写原因1:用我们自己写的第三张表,更易扩展  2.有了manytomany字段,方便我们查询。  3.用了中介模型后,就不能obj.m.add(9)这样操作了,只能使用clear()方法。而是要直接操作第三张表。(因为我们创建的第三张表可能有第三个,第四个字段,这些个API只能添加固定的manytomany字段。

 

博客系统(cnblog)

预备知识

1.django的ORM(object relational mapping)  类==》表    类属性==》表字段  类对象==》表记录

  跨表查询,分组查询

2.Bootstrap

3.Ajax(它是一种技术,原生可以是JS实现的ajax,我们使用jquery来实现ajax)

 

4.用户认证

  auth

 

实现功能:

  1.基于Ajax和用户认证实现的登录验证

     ---验证码

  2.基于ajax和form组件实现注册功能

    上面两个功能只需要一张user表,一对一的两张表,其实就是一张表。只不过他把一些不常用的字段放到了另一张表了。

  3.系统首页布局

      需要一个article表

  4.个人站点页面设计

    左边分类和标签和归档需要新的表。

  5.文章详细页的设计

    页面样式跟个人站点页面样式一样,所以用模板。

    模板语法truncatewords截取固定长度字符串,但是他还是取到了全部的长度截取的。 

  6.基于ajax实现文章点赞与踩(对user跟article进行联合为一)ajango-unique_together

    

  7.基于ajax评论功能

    (也可以额外做一个评论点赞,再加一张表)

   comment = ForeignKey('self',None=True,default=None)

  8.kindeditor和BeautifulSoup(防止xss攻击  两个思路:1.前端入手(编辑器帮我们转移了)  2.后台过滤再存数据库(过滤敏感政治信息,恶意信息比如Script标签))

 

  

    

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!