Web框架开发-BBS项目预备知识

发布于:2024-03-28 ⋅ 阅读:(19) ⋅ 点赞:(0)

一、简介

博客系统(cnblog) https://www.cnblogs.com/

1.django ORM  (object relation mapping 对象关系映射)  表 = 类  对象 = 记录
        跨表查询  分组查询 annotate()   聚合查询  aggregate(*args, **kwargs)
2.bootstrap
 3.Ajax (jquery javascript) --- javascript 去写ajax  去写写
        登录注册 点赞评论
        用框架 底层要会!
 4.用户认证系统!
  auth user

实现功能:
1、基于Ajax和用户认证实现登录验证
  ---- 验证码 图片  滑动(插件)
  登录  注册 Ajax

2、基于Ajax和form组件实现注册功能

3、系统首页的布局
  表关系第一步:
  文章表:表头 内容, 发布时间
  用户表:一对多

4、个人站点页面设计
  标签分类 归档(发布日期group by)
  分类表:一对多 和 文章表
  标签表:多对多 和 文章表

5、文章详细页面
  模板继承
  文章表
  nid = models.AutoField(primary_key=True)
  title = models.CharField(max_length=50, verbose_name='文章标题')
  desc = models.CharField(max_length=255, verbose_name='文章描述')
  create_time = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)
  content = models.TextField()

  comment_count = models.IntegerField(default=0)
  up_count = models.IntegerField(default=0)
  down_count = models.IntegerField(default=0)

  user = models.ForeignKey(verbose_name='作者', to='UserInfo', to_field='nid', on_delete=models.CASCADE)
  category = models.ForeignKey(to='Category', to_field='nid', null=True, on_delete=models.CASCADE)
  tags = models.ManyToManyField(
      to="Tag",
      through='Article2Tag',
      through_fields=('article', 'tag'),
  )

def __str__(self):
    return self.title
6、基于Ajax实现文章点赞与踩灭

1

2

3

4

5

6

7

8

9

nid = models.AutoField(primary_key=True)

   user = models.ForeignKey('UserInfo', null=True, on_delete=models.CASCADE)

   article = models.ForeignKey("Article", null=True, on_delete=models.CASCADE)

   is_up = models.BooleanField(default=True)

   class Meta:

       unique_together = [

           ('article''user')

       ]


 7、基于Ajax实现评论框

1

2

3

4

5

6

7

8

9

10

nid = models.AutoField(primary_key=True)

    user = models.ForeignKey(verbose_name='评论者', to='UserInfo', to_field='nid', on_delete=models.CASCADE)</

本文含有隐藏内容,请 开通VIP 后查看