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中的__init__ 、__new__、__call__小结
Apr 25 Python
Python访问MySQL封装的常用类实例
Nov 11 Python
Python冒泡排序注意要点实例详解
Sep 09 Python
python列表的增删改查实例代码
Jan 30 Python
使用python对文件中的单词进行提取的方法示例
Dec 21 Python
python 字典操作提取key,value的方法
Jun 26 Python
Python为何不能用可变对象作为默认参数的值
Jul 01 Python
详解python中__name__的意义以及作用
Aug 07 Python
详解用python计算阶乘的几种方法
Aug 14 Python
Python整数与Numpy数据溢出问题解决
Sep 11 Python
Python matplotlib画曲线例题解析
Feb 07 Python
基于Tensorflow高阶读写教程
Feb 10 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计算十二星座的函数代码
2012/08/21 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
利用404错误页面实现UrlRewrite的实现代码
2008/08/20 Javascript
模拟select的代码
2011/10/19 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
2013/01/17 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
js核心基础之闭包的应用实例分析
2019/05/11 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
对Python3中dict.keys()转换成list类型的方法详解
2019/02/03 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
Scrapy框架基本命令与settings.py设置
2020/02/06 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
英国袜子店:Sock Shop
2017/01/11 全球购物
新书吧创业计划书
2014/01/31 职场文书
学校运动会霸气口号
2014/06/07 职场文书
教师工作自我鉴定范文
2014/09/14 职场文书
2014年实习期工作总结
2014/11/27 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
停车场管理制度范本
2015/08/05 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
php远程请求CURL案例(爬虫、保存登录状态)
2021/04/01 PHP