python django实现云端留言板Web应用

234人阅读 评论(0) 收藏 举报
分类:

功能

制作一个简易留言板,实现留言和查看留言的功能,

留言:输入留言人A,被留言人B,留言信息msg,点击提交可以将留言信息保存的云端(本例不包括数据库,采用文件形式保存)

获取留言:输入用户名,可以查看所有给自己的留言


开发流程

对django开发不熟悉,先看链接:http://blog.csdn.net/winycg/article/details/78976917
(1)新建django工程:  django-admin startproject messageboard
(2)在工程中新建msgapp: python manage.py startapp msgapp
(3)在msg目录新建templates目录,用于存放HTML文件,HTML文件就是我们展示留言功能的界面
其中{{ }}和{% %}等都是django的模板语言,{% for %}{% endfor %}表示一个循环

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>留言板首页</title>
</head>
<body>
    <h1>提交留言功能区</h1>
    <form action="/msggate/" method="post">
        <!--添加本语句在表单中,可以防止csrf攻击-->
        {% 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>{{ line.userA }}</td>
                <td>{{ line.msg }}</td>
            </tr>
            {% endfor %}
        </tbody>
    </table>

</body>
</html>
(4)在工程目录的settings.py文件中配置模板templates路径,修改的是'DIRS'的内容:
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'msgapp/templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
(5)配置本地路由和全局路由:
在msgapp中新建urls.py文件,设置本地路由:
from django.urls import path
from . import views


urlpatterns = [
    path('', views.msg_board)
]
在工程的全局路由文件urls.py中:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('msggate/', include('msgapp.urls')),
    path('admin/', admin.site.urls),
]
(6)在msgapp的viewspy文件中,编写响应代码

from django.shortcuts import render
from datetime import datetime


# Create your views here.
def msg_board(request):
    if request.method == 'POST':
        user_a = request.POST.get('userA', None)
        user_b = 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(user_b, user_a, msg,
                                              time.strftime('%Y-%m-%d %H:%M:%S')))
    data_list = []
    if request.method == 'GET':
        user_c = request.GET.get('userC', None)
        if user_c is not None:
            with open('msgdata.txt', 'r') as fr:
                for line in fr:
                    linedata = line.split('--')
                    if linedata[0] == user_c:
                        data_list.append({'userA': linedata[1],
                                          'msg': linedata[2], 'time': linedata[3]})
    # 最后一个字典填充HTML文件中的data
    return render(request, 'msgWeb.html', {"data": data_list})
(7)运行工程: python manage.py runserver,打开http://localhost:8000/msggate/即可看到结果




查看评论

使用Django开发一个简易的留言板

Django在线留言板小练习环境ubuntu16.04 + python3 + django1.111、创建项目django-admin.py startproject message进入项目mess...
  • Yort2016
  • Yort2016
  • 2017-06-20 17:46:02
  • 2212

django留言板

  • 2012年12月15日 10:11
  • 1.56MB
  • 下载

django+mysql留言板

  • 2015年12月19日 16:36
  • 12KB
  • 下载

[单页面]Django打造在线教育平台(一)--环境搭建

先进行开发环境搭建: 1. Python IDE Pycharm安装 搜索pycharm, 下载windows的professional版本, 可上淘宝购买激活码. 2. 下载MySQL 安装...
  • oldwayphone
  • oldwayphone
  • 2017-06-25 14:19:06
  • 627

基于python+django的留言板

  • 2013年03月13日 16:21
  • 1.56MB
  • 下载

基于python+django留言板

  • 2012年12月14日 19:14
  • 1.56MB
  • 下载

十五.增加一个项目协作留言板功能(一)----- 建立留言板的model

 前十四章节已经介绍了如何用django来建立一个信息系统,解决了增删改查的问题。那么接下来,为了适应工作需要,我们在此建立一个简单的项目协作留言板功能。项目留言板可以通过新建项目,同时大家...
  • alex_chen_16
  • alex_chen_16
  • 2016-06-15 21:15:22
  • 1683

python入门篇1:基于flask的留言板网站实现

一.题目与背景知识说明 (1)题目描述       学习flask,并编写一个基于flask技术的留言板程序。留言板需求较为简单,用户可以在页面输入昵称和邮箱,输入留言内容(至少50字,上限500字)...
  • lovedied
  • lovedied
  • 2014-06-11 23:26:33
  • 3312

Python开发web服务器——留言板

本次博客的主题:留言板,希望能给大家一些帮助。另外本篇需要以上篇《搭建简易服务器》为基础。所需知识python3flask基础操作sqlite3数据库操作基础为何是sqlite3?相较于现在大火的my...
  • baidu_35085676
  • baidu_35085676
  • 2017-04-22 13:26:06
  • 1523

基于Django快速开发网络留言板应用

  • 2011年09月06日 08:59
  • 2.46MB
  • 下载
    个人资料
    持之以恒
    等级:
    访问量: 13万+
    积分: 4274
    排名: 8852
    赞助一下
    如果您觉得我的文章对您有帮助的话,不妨小额赞助一下,激励我写出更多的好文章,谢谢大家!

    以下是我的支付宝和微信账户