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牛刀小试密码爆破
Feb 03 Python
python里大整数相乘相关技巧指南
Sep 12 Python
Python入门_浅谈逻辑判断与运算符
May 16 Python
Python3 XML 获取雅虎天气的实现方法
Feb 01 Python
Python SMTP发送邮件遇到的一些问题及解决办法
Oct 24 Python
Python 自动登录淘宝并保存登录信息的方法
Sep 04 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
Sep 26 Python
一文轻松掌握python语言命名规范规则
Jun 18 Python
python右对齐的实例方法
Jul 05 Python
基于Python爬取股票数据过程详解
Oct 21 Python
python 多进程和协程配合使用写入数据
Oct 30 Python
Python虚拟环境virtualenv是如何使用的
Jun 20 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 set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
PHP实现中文圆形印章特效
2015/06/19 PHP
PHP多种序列化/反序列化的方法详解
2017/06/23 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
原创javascript小游戏实现代码
2010/08/19 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
jQuery老黄历完整实现方法
2015/01/16 Javascript
jquery中表单 多选框的一种巧妙写法
2015/09/06 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
2017/01/19 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
2018/06/24 Javascript
在Python的Django框架中使用通用视图的方法
2015/07/21 Python
Python实现购物车程序
2018/04/16 Python
Django利用cookie保存用户登录信息的简单实现方法
2019/05/27 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
2020/04/10 Python
Python常用外部指令执行代码实例
2020/11/05 Python
phonegap常用事件总结(必看篇)
2017/03/31 HTML / CSS
Mavi牛仔裤美国官网:土耳其著名牛仔品牌
2016/09/24 全球购物
世界上最大的汽车共享网站:Zipcar
2017/01/14 全球购物
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
仓库主管的岗位职责
2013/12/04 职场文书
幼儿园教师自我鉴定
2014/03/20 职场文书
经典安踏广告词
2014/03/21 职场文书
职务聘任书范文
2014/03/29 职场文书
委托书范文
2014/04/02 职场文书
2014年五四青年节演讲稿范文
2014/04/22 职场文书
企业宣传策划方案
2014/05/29 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
获奖感言怎么写
2015/07/31 职场文书
标准版个人借条怎么写?以及什么是借条?
2019/08/28 职场文书
详解Python中的for循环
2022/04/30 Python
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL
Python find()、rfind()方法及作用
2022/12/24 Python