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制作CSDN免积分下载器
Mar 10 Python
在Python中使用matplotlib模块绘制数据图的示例
May 04 Python
python字符串连接方法分析
Apr 12 Python
pycharm 主题theme设置调整仿sublime的方法
May 23 Python
Python之用户输入的实例
Jun 22 Python
对python中大文件的导入与导出方法详解
Dec 28 Python
Django 迁移、操作数据库的方法
Aug 02 Python
python实现人工智能Ai抠图功能
Sep 05 Python
利用pyshp包给shapefile文件添加字段的实例
Dec 06 Python
PyQt5中向单元格添加控件的方法示例
Mar 24 Python
Python如何读取、写入CSV数据
Jul 28 Python
Python 中 sorted 如何自定义比较逻辑
Feb 02 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
PR值查询 | PageRank 查询
2006/12/20 PHP
MySQL中create table语句的基本语法是
2007/01/15 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
php实现数组中出现次数超过一半的数字的统计方法
2018/10/14 PHP
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
三种带箭头提示框总结实例
2016/06/14 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
2016/10/10 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
2016/11/29 Javascript
基于Marquee.js插件实现的跑马灯效果示例
2017/01/25 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
VUE简单的定时器实时刷新的实现方法
2019/01/20 Javascript
弱类型语言javascript中 a,b 的运算实例小结
2019/08/07 Javascript
Python实现简单的四则运算计算器
2016/11/02 Python
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
python实现点击按钮修改数据的方法
2019/07/17 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
深入浅析python的第三方库pandas
2020/02/13 Python
Python基于execjs运行js过程解析
2020/11/27 Python
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
端口镜像是怎么实现的
2014/03/25 面试题
竞选部门副经理的自荐书范文
2014/02/11 职场文书
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
出差报告范文
2014/11/06 职场文书
小学见习报告
2015/06/23 职场文书
《桂花雨》教学反思
2016/02/19 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
导游词之安徽醉翁亭
2020/01/10 职场文书
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android
Python实现科学占卜 让视频自动打码
2022/04/09 Python