Django使用sqlite3实现留言板

开发要求

弱化web设计,有简单的web界面即可

重视云端设计,掌握django库的使用

数据采用sqlite3数据库的形式来保存

开发流程

1:新建工程Django留言板

D:\VSCode>django-admin.py startproject Django留言板

2:新建应用msgapp,并注册应用

D:\VSCode\Django留言板>python manage.py startapp msgapp

注册应用:修改setting.py(为了让项目知道应用的存在。)
在这里插入图片描述

3:增加模板,即显示界面的HTML/CSS/JS代码,并配置路径
在msgapp目录下,新建templates文件夹,存放HTML
HTML代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" >
        <title>云端留言板</title>
    </head>
    <body>
        <h1>提交留言功能区</h1>
        <form action="/cloudmsg/" method="post"><!--表单标签,分别是提交地址(这里的地址就是下面全局路由文件中增加的路径),提交方式-->
            {% csrf_token %}<!--当你提交POST数据的时候,它帮你做校验,如果校验不通过就拒绝这次请求-->
            发送方<input type="text" name="userA" /> <br>
            接收方<input type="text" name="userB" /> <br>
            消息<input type="text" name="msg" /> <br>
            <input type="submit" value="留言提交" />
        </form>
        <h1>获取留言功能区</h1>
        <form action="/cloudmsg/" method="get">
            接收方<input type="text" name="userC" /> <br>
            <input type="submit" value="留言获取">
        </form>
        <table border="1">
            <thead>
                <th>留言时间</th>
                <th>留言来源</th>
                <th>留言信息</th>
            </thead>
            <br>
            <tbody>
                {% for line in data %}
                <tr>
                    <td>{{line.time}}</td>
                    <td>{{line.userA}}</td>
                    <td>{{line.msg}}</td>
                </tr>
                {% endfor %}
            </tbody>
        </table>
    </body>
</html>

配置路径:在工程目录下修改setting.py文件。
在这里插入图片描述

4:设定URL路由,包括本地路由和全局路由
本地路由:在msgapp目录下新建urls.py文件,配置本地路由。

from django.urls import path
from . import views
urlpatterns=[
    path('',views.msgsolve),
]

这里的views.msgsolve是即将写在msgapp下的views.py中的响应函数,这里先写一个什么都没有的简单内容以使路由的成功连接。

from django.shortcuts import render

# Create your views here.
def msgsolve(request):
    return

全局路由:修改Django留言板工程下的urls.py文件

from django.contrib import admin
from django.urls import include,path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('cloudmsg/',include('msgapp.urls')),
]

5:编写数据库代码

class CloudMsg(models.Model):
    userA=models.CharField(null=True,blank=True,max_length=32)
    userB=models.CharField(null=True,blank=True,max_length=32)
    msg=models.CharField(null=True,blank=True,max_length=200)
    time=models.DateTimeField(null=True,blank=True)

6:生成数据库:
第一条指令:

D:\VSCode\Django留言板>python manage.py makemigrations

会出现下面内容,表示成功在migrations文件夹下创建了一个名为0001_initial.py文件,
在这里插入图片描述
第二条指令:

D:\VSCode\Django留言板>python manage.py migrate

出现下面内容:
在这里插入图片描述
7:编写交互代码:(修改上面的views.py)

from django.shortcuts import render
from msgapp.models import CloudMsg
from datetime import datetime

# Create your views here.
def msgsolve(request):
    content={}
    if request.method=='POST':
        cloudmsg=CloudMsg()
        cloudmsg.userA=request.POST.get("userA",None)
        cloudmsg.userB=request.POST.get("userB",None)
        cloudmsg.msg=request.POST.get("msg",None)
        cloudmsg.time=datetime.now().date()
        cloudmsg.save()
    if request.method=='GET':
        userC=request.GET.get('userC',None)
        if userC==''or userC:
            msg=CloudMsg.objects.all()
            data=msg.filter(userB__contains=userC)
            print(data)
            if len(data)>10:
                data=data[:10]
            content["data"]=data
    return render(request,'msg.html',content)

8:运行工程:
指令:

D:\VSCode\Django留言板>python manage.py runserver

访问http://127.0.0.1:8000/cloudmsg/
效果如下:
在这里插入图片描述
经过几次留言,查询后结果:
在这里插入图片描述
最后,我们可通过在后台注册表,以管理者的身份查看表所有的内容。
步骤一:在admin.py中注册表:

from django.contrib import admin

# Register your models here.
from msgapp import models
admin.site.register(models.CloudMsg)

步骤二:创建Web后台的用户和密码:
通过指令:

D:\VSCode\Django留言板>python manage.py createsuperuser

在这里插入图片描述
步骤三:重新运行工程,通过刚刚创建的用户登录
在这里插入图片描述
登录成功后会显示这个页面:
在这里插入图片描述
通过点击change就可以看到之前的几次留言的全部内容。
在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值