django云端留言板实例详解
作者:roadwide 发布时间:2023-12-13 08:17:59
标签:django,云端,留言板
1.创建应用
django-admin startproject cloudms
cd cloudms
python manage.py startapp msgapp
2.创建模板文件
在cloudms\msgapp\下创建templates文件夹,在templates文件夹下创建MsgSingleWeb.html(这里在pycharm中可以直接选择new一个HTML file,会自动生成html,head,body等标签)内容如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>云端留言板(1)首页</title>
</head>
<body>
<h1>提交留言功能区</h1>
<form action="/msggate/" method="post">
{% csrf_token %}
发送方 <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="/msggate/" 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 align="center">{{ line.userA }}</td>
<td>{{ line.msg }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>
3.引入模板文件
在cloudms\settings.py中修改TEMPLATES=[]中的DIRS,如下
'DIRS': [os.path.join(BASE_DIR,"msgapp/templates")],
4.设定url路由
本地路由。cloudms\msgapp\新建urls.py,内容如下
from django.urls import path
from . import views
urlpatterns=[
path('',views.msgproc),
]
全局路由引入本地路由,cloudms\cloudms\urls.py内容如下
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path("msggate/",include('msgapp.urls')),
path('admin/', admin.site.urls),
]
5.编写views的交互函数
cloudms\msgapp\views.py内容如下
from django.shortcuts import render
from datetime import datetime
# Create your views here.
def msgproc(request):
datalist=[]
if(request.method=="POST"):
userA=request.POST.get("userA",None)
userB=request.POST.get("userB",None)
msg=request.POST.get("msg",None)
time=datetime.now()
with open('msgdata.txt','a+') as f:
f.write("{}--{}--{}--{}--\n".format(userB,userA,msg,time.strftime("%Y-%m-%d %H:%M:%S")))
if(request.method=="GET"):
userC=request.GET.get("userC",None)
if(userc!=None):
with open('msgdata.txt','r') as f:
cnt=0
for line in f:
linedata=line.split('--')
if(linedata[0]==userC):
d={"userA":linedata[1],"msg":linedata[2],"time":linedata[3]}
datalist.append(d)
if(cnt>=10):
break
return render(request,"MsgSingleWeb.html",{"data":datalist}) ##render函数第三个参数是字典类型,表明向html页面 * 定变量赋值
来源:https://www.cnblogs.com/roadwide/p/11143360.html
0
投稿
猜你喜欢
- 引言这三个排序方法应对日常工作基本够用先说一下三者的区别sort, sorted 是用在 list 数据类型中的排序方法argsort 是用
- 本文总结了YiiFramework入门知识点。分享给大家供大家参考,具体如下:创建Yii应用骨架web为网站根目录yiic webapp /
- php中可以使用 mb_detect_encoding() 函数来判断字符串是什么编码的。当在php中使用mb_detect_encodin
- 带农历的JavaScript日期时间,增加了农历使这款代码更具实用性,很不错,不但有农历,而且还可以显示民国计年,可以判断显示闰月、闰年等,
- 将近两个多月没有敲linux命令,手指头不听话了。该再次温习卖油翁的故事了。曾为oracle如何启动多个实例运行纠结过,不服输心理。当时在一
- 简介python可以做很多事情,虽然它的强项在于进行向量运算和机器学习、深度学习等方面。但是在某些时候,我们仍然需要使用python对外提供
- 刚才画散点图要用到图例,可是matplotlib.pyplot.plot(x,y,'.')画出的散点图中图例是两个点(因为p
- 我设了两个SESSION:SESSION(A1),SESSION(A2),然后我现在想结束其中一个SESSION(如:ESEEION(A1)
- 自动签到的python脚本源码新建一个python文件,checkin.py,保存到电脑上某个位置,我这里保存到的是E:\pyproject
- ABS(x) 函数,此函数用来返回一个数的绝对值。 ACOS(x)函数,返回X的反余弦值。X范围从1到-1,输入值从0到派,以弧度为单位。
- 简单的模型例如线性回归,LR等模型非常易于解释,但在实际应用中的效果却远远低于复杂的梯度提升树模型以及神经网络等模型。现在大部分互联网公司的
- 最近给卫生局做一个表格上传/可视化系统,算是小有成果。今天把项目中的文件拖拽上传模块分离出来,做了一个独立的小demo,并把相关代码打包上传
- 代码实现:<!DOCTYPE html><html lang="en"><head>
- 如下所示:from keras import backend as Kfrom keras.models import load_model
- 在PyTorch中,torch.Tensor类是存储和变换数据的重要工具,相比于Numpy,Tensor提供GPU计算和自动求梯度等更多功能
- 因为Python是自带文档,可以通过help函数来查询每一个系统函数的用法解释说明。一般来说,关键的使用方法和注意点在这个系统的文档中都说的
- 虽然今年名义上已经不再管人了,但也不得不掺和进很多人事,这里想简单说说,即使不能帮助这个行业的从业者规划职业道路,也算是把之前摸过的路小结一
- 导言在前面我们学习了如何创建item级的DataList。和可编辑的GridView一样,每个DataList里的item都包含一个Edit
- 本文实例讲述了Python通过TensorFLow进行线性模型训练原理与实现方法。分享给大家供大家参考,具体如下:1、相关概念例如要从一个线
- 我生平不爱学习,所以说不出什么洋洋洒洒的大道理,貌似也写不出妙语连珠的学术文章,有感于现在宅到极致的生活状态,故一篇图文并茂的文章诞生了(大