Django(二)精美博客搭建(13)实现留言页面及留言功能

前言

本章主要讲述 【留言】界面【留言】功能的实现

  • ps:功能这块的话,和之前【文章详情评论】代码差不多,都比较简单,页面这part我觉得算是符合我的审美了,毕竟咱也不是前端 0.0

环境:

  • Pycharm
  • python3.6
  • mysql 5.7
  • django 2.0.13


一、新功能项目概览

在这里插入图片描述


二、User模块具体实现

  • 留言代码部分我统一写在【user】应用下

1、urls.py

  • 添加两路由,一个是【查询留言列表】,另一个是【添加留言】
# 留言列表
path('leave_message', leave_message, name='leave_message'),
# 添加留言
path('add_leave_msg', add_leave_msg, name='add_leave_msg'),

在这里插入图片描述


2、views.py

  • 对应添加两视图函数

在这里插入图片描述

def leave_message(request):
    """
    返回留言界面
    :param request:
    :return:
    """
    # 查询所有留言
    leave_msgs = LeaveMessage.objects.all().order_by('-create_time')
    return render(request, 'user/leave_message.html', context={
   'leave_msgs': leave_msgs})


def add_leave_msg(request):
    """
    添加留言
    :param request:
    :return:
    """
    # 拿到前端传的值
    nickname = request.GET.get('nickname')
    content = request.GET.get('saytext')
    # 昵称和内容都不为空时,保存数据库
    data = {
   }
    if nickname is not None and content is not None:
        leave_msg = LeaveMessage.objects.create(nickname=nickname, content=content)
        if leave_msg:
            data = {
   
                'status': 1,
                'msg': '留言成功'
            }
        else:
            data = {
   
                'status': 0,
                'msg': '留言成功'
            }
    else:
        logging.info("添加留言失败,请填写昵称和留言内容再添加噢!")
    return JsonResponse(data)

3、models.py

  • 新增留言模型,数据库怎么设计你们可以自己优化,我这里直接引用之前的评论表了

在这里插入图片描述

class LeaveMessage(models.Model):
    """
        留言表
    """
    # 要添加null=True,不添加的话进行迁移数据库的时候会提示给默认值
    nickname = models.CharField(verbose_name='昵称', max_length=16, null=True)
    content = models.CharField(verbose_name='留言内容', max_length=240, null=True)
    create_time = models.DateTimeField(verbose_name='留言时间', auto_now=True)

    def __str__(self):
        return self.nickname

    class Meta:
        db_table = 'leave_message'
        verbose_name = "留言"
        verbose_name_plural = verbose_name

4、迁移数据库

  • 只要models进行了修改,就要记得迁移
python manage.py makemigrations
python manage.py migrate

在这里插入图片描述



三、templates模块具体实现

1、在user下新增leave_message.html

在这里插入图片描述

{
   % extends 'base.html' %}
{
   % load staticfiles %}

{
   #  title部分 #}
{
   % block title %}
    Mikasa个人博客 - 一个热爱敲代码的女程序媛的个人博客网站
{
   % endblock %}

{
   # css样式部分 #}
{
   % block mycss %}
    <link href="{% static 'css/book.css' %}" rel="stylesheet">
    <link href="{% static 'css/leavemsg.css' %}" rel="stylesheet">
{
   % endblock %}

{
   # 内容部分 #}
{
   % block content %}
    <div class="container">
        <h2 class="ctitle"><b>留言板</b> <span>你,生命中最重要的过客,之所以是过客,因为你未曾为我停留。</span></h2>
        {
   #   留言板     #}
        <div class="gbook">
            <div class="about">
                {
   
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M1kasal

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值