开发要求
弱化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就可以看到之前的几次留言的全部内容。