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 相关文章推荐
Python警察与小偷的实现之一客户端与服务端通信实例
Oct 09 Python
Python os模块学习笔记
Jun 21 Python
python实现用户登录系统
May 21 Python
快速解决PyCharm无法引用matplotlib的问题
May 24 Python
Python Flask 搭建微信小程序后台详解
May 06 Python
python在新的图片窗口显示图片(图像)的方法
Jul 11 Python
python过滤中英文标点符号的实例代码
Jul 15 Python
使用 python pyautogui实现鼠标键盘控制功能
Aug 04 Python
Keras:Unet网络实现多类语义分割方式
Jun 11 Python
python爬虫scrapy框架之增量式爬虫的示例代码
Feb 26 Python
在Django中使用MQTT的方法
May 10 Python
Python OpenCV形态学运算示例详解
Apr 07 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与MongoDB简介|安全|M+PHP应用实例详解
2013/06/17 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
jQuery中的常用事件总结
2009/12/27 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
JavaScript Array Flatten 与递归使用介绍
2011/10/30 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
javascript使用正则表达式检测IP地址
2014/12/03 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
Angular将填入表单的数据渲染到表格的方法
2017/09/22 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
2020/09/04 Javascript
JavaScript原生数组函数实例汇总
2020/10/14 Javascript
JavaScript实现移动小精灵的案例代码
2020/12/12 Javascript
Python中使用PIL库实现图片高斯模糊实例
2015/02/08 Python
详解Python中的序列化与反序列化的使用
2015/06/30 Python
使用python实现省市三级菜单效果
2016/01/20 Python
python中import学习备忘笔记
2017/01/24 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
python爬虫解决验证码的思路及示例
2019/08/01 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
python+django+selenium搭建简易自动化测试
2020/08/19 Python
通过实例了解python__slots__使用方法
2020/09/14 Python
海淘母婴商城:国际妈咪
2016/07/23 全球购物
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
书法比赛获奖感言
2014/02/10 职场文书
五年级数学教学反思
2014/02/11 职场文书
中药专业自荐信范文
2014/03/18 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
教师节祝酒词
2015/08/11 职场文书
React配置子路由的实现
2021/06/03 Javascript