1. 站内消息功能数据表

站内消息表表结构如下
64CD45B6-90AF-413d-94CE-867236B3FC3E.png
在django的ORM中实现如下

  1. class Message(models.Model):
  2. MessageId = models.IntegerField(verbose_name='信息编号', primary_key=True)
  3. MessageTitle = models.CharField(max_length=20, verbose_name='信息标题')
  4. MessageString = models.CharField(max_length=100, verbose_name='信息内容')
  5. MessageTime = models.DateTimeField(auto_now=True)# django的时间日期型,auto_now为是否将时间自动写入
  6. class Meta:
  7. db_table = 'Message'# 数据库中表的名字
  8. verbose_name = '站内通知消息'# 在后台中显示的表的名称

对Message表进行数据迁移

  1. #进行数据迁移
  2. python manage.py makemigrations
  3. python manage.py migrate

并且在后台中对模型进行注册

  1. class MessageMessage(admin.ModelAdmin):
  2. pass
  3. admin.site.register(Message, MessageMessage)

2. 站内消息表接口实现

2.1 站内消息表接口逻辑实现

  • 首先遍历数据库表,对数据库表进行遍历

    2.2 站内消息接口功能代码实现

    2.2.1 在views中添加相关操作

    1. def messages(request):
    2. """
    3. 接口作用: 返回给用户的所有站内消息
    4. :param request:
    5. :return:
    6. """
    7. data = []
    8. for i in Message.objects.all():
    9. data.append({
    10. 'MessageTitle': i.MessageTitle,
    11. 'MessageString': i.MessageString,
    12. 'MessageTime': i.MessageTime.__str__()
    13. })
    14. return JsonResponse(data, safe=False)

    2.2.2 在urls中添加相关操作

    1. path('show/', views.messages, name='站内消息')
    2. """
    3. name='站内消息',为django的接口的别名
    4. """

    补充

    对于如果要首页****框的功能的话,我们只需要对views中的messages函数进行修改即可,修改内容如下

    1. def messages(request):
    2. """
    3. 接口作用: 返回给用户的所有站内消息
    4. :param request:
    5. :return:
    6. """
    7. data = []
    8. for i in Message.objects.all().first():
    9. data.append({
    10. 'MessageTitle': i.MessageTitle,
    11. 'MessageString': i.MessageString,
    12. 'MessageTime': i.MessageTime.__str__()
    13. })
    14. return JsonResponse(data, safe=False)