django云端留言板实例详解


Posted in Python onJuly 22, 2019

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页面中特定变量赋值

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在ironpython中利用装饰器执行SQL操作的例子
May 02 Python
用Python操作字符串之rindex()方法的使用
May 19 Python
python实现简单购物商城
May 21 Python
深入理解Django的自定义过滤器
Oct 17 Python
答题辅助python代码实现
Jan 16 Python
python使用logging模块发送邮件代码示例
Jan 18 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
Jan 24 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 Python
Python中asyncio模块的深入讲解
Jun 10 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 Python
Python基于pandas绘制散点图矩阵代码实例
Jun 04 Python
Python实现一个简单的毕业生信息管理系统的示例代码
Jun 08 Python
python实现图片中文字分割效果
Jul 22 #Python
django用户登录验证的完整示例代码
Jul 21 #Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 #Python
详解Django模版中加载静态文件配置方法
Jul 21 #Python
django数据库自动重连的方法实例
Jul 21 #Python
django使用django-apscheduler 实现定时任务的例子
Jul 20 #Python
python 自定义装饰器实例详解
Jul 20 #Python
You might like
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
2012/08/01 PHP
一个简单且很好用的php分页类
2013/10/26 PHP
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
Javascript与flash交互通信基础教程
2008/08/07 Javascript
jquery 表单进行客户端验证demo
2009/08/24 Javascript
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
Javascript基础知识(一)核心基础语法与事件模型
2014/09/29 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
jQuery满意度星级评价插件特效代码分享
2015/08/19 Javascript
简单实现限制uploadify上传个数
2015/11/16 Javascript
关于微信中a链接无法跳转问题
2016/08/02 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
Vue向后台传数组数据,springboot接收vue传的数组数据实例
2020/11/12 Javascript
python脚本实现查找webshell的方法
2014/07/31 Python
仅用50行Python代码实现一个简单的代理服务器
2015/04/08 Python
Python计算三维矢量幅度的方法
2015/06/15 Python
python线程中同步锁详解
2018/04/27 Python
python制作抖音代码舞
2019/04/07 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
2020/02/17 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
材料成型专业个人求职信范文
2013/09/25 职场文书
长江七号观后感
2015/06/11 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
类和原型的设计模式之复制与委托差异
2022/07/07 Javascript