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


猜你喜欢
- 今天在测试以下代码时遇到该错误:session_start();$_SESSION['username']=$usernam
- HTML文件其实就是由一组尖括号构成的标签组织起来的,每一对尖括号形式一个标签,标签之间存在上下关系,形成标签树;XPath 使用路径表达式
- 前言我们项目中总是避免不了要使用一些定时任务,比如说最近的项目,用户点击报名考试以后需要在考试日期临近的时候推送小程序消息提醒到客户微信上,
- 准备下载安装Python3官网下载即可,选择合适的版本:https://www.python.org/downloads/安装一直下一步即可
- SQL Server 2008我们也能从中体验到很多新的特性,但是对于SQL Server 2008安装,还是用图来说话比较好。本文将从SQ
- 引言skimage提供了io模块,顾名思义,这个模块是用来图片输入输出操作的。为了方便练习,也提供一个data模块,里面嵌套了一些示例图片,
- CNN(Convolutional Neural Networks) 卷积神经网络简单讲就是把一个图片的数据传递给CNN,原涂层是由RGB组
- 废话不多说,直接上官网demopackage mainimport ("log""github.com/fsn
- 今天来分享一下图,这是一种比较复杂的非线性数据结构,之所以复杂是因为他们的数据元素之间的关系是任意的,而不像树那样 被几个性质定理框住了,元
- 自定义数据库字段扩展默认的models.CharField和models.TextField使之成为支持多语言的字段。可以轻松实现复用,无需
- 本文实例讲述了Python测试网络连通性。分享给大家供大家参考,具体如下:Python代码#!/usr/bin/python# -*- co
- ETL的考虑 做 数据仓库系统,ETL是关键的一环。说大了,ETL是数据整合解决
- 问题某些无聊的脚本小子在Web页面表单中填入了“pýtĥöñ”这样的文本,我们
- python实现银行管理系统,供大家参考,具体内容如下有的地方用的方法的比较复杂,主要是为回顾更多的知识test1用来存类和函数#test1
- 一、概念我们可以将工作池理解为线程池。线程池的创建和销毁非常消耗资源,所以专门写一个pool,每次用过的线程池再放回pool中而不是销毁。不
- 【OpenCV】⚠️高手勿入! 半小时学会基本操作 ⚠️ 图像轮廓概述OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大.
- 说明1、方差检验是用来比较两个或多个变量数据的样本,以确定它们之间的差异是简单随机的,或者是由于过程之间的显著统计差异造成的。2、自变量X是
- php获取 checkbox复选框值的方法 <html xmlns="https://www.aspxhome.net/19
- 什么是触发器?触发器是在对表进行插入、更新或删除操作时自动执行的存储过程。 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触
- 废话真的一句也不想多说,直接看代码吧!# -*- coding: utf-8 -*- import numpy from sklearn i