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 相关文章推荐
py中的目录与文件判别代码
Jul 16 Python
python根据出生日期返回年龄的方法
Mar 26 Python
win10系统中安装scrapy-1.1
Jul 03 Python
Python运维之获取系统CPU信息的实现方法
Jun 11 Python
Django 实现购物车功能的示例代码
Oct 08 Python
浅谈python图片处理Image和skimage的区别
Aug 04 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 Python
python实现多进程通信实例分析
Sep 01 Python
python使用opencv实现马赛克效果示例
Sep 28 Python
使用python实现下载我们想听的歌曲,速度超快
Jul 09 Python
如何用Python 加密文件
Sep 10 Python
详解Selenium 元素定位和WebDriver常用方法
Dec 04 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
fgetcvs在linux的问题
2012/01/15 PHP
PHP中设置时区,记录日志文件的实现代码
2013/01/07 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
php简单复制文件的方法
2016/05/09 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
简单PHP会话(session)说明介绍
2016/08/21 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
2019/08/05 PHP
js 事件处理函数间的Event物件是否全等
2011/04/08 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
Move.js入门
2017/02/08 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
2019/04/17 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
Python采用raw_input读取输入值的方法
2014/08/18 Python
简单介绍Python中的几种数据类型
2016/01/02 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
python装饰器代替set get方法实例
2019/12/19 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
Python导入模块包原理及相关注意事项
2020/03/25 Python
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
护士辞职信模板
2014/01/20 职场文书
办公室人员先进事迹
2014/01/27 职场文书
小学三年级学生评语
2014/04/22 职场文书
小学数学课后反思
2014/04/23 职场文书
活动总结格式范文
2014/04/26 职场文书
银行自荐信怎么写
2015/03/05 职场文书
详解SQL报错盲注
2022/07/23 SQL Server