Django云端留言板开发实战:从项目创建到视图逻辑

一颗松果
一颗松果
发布时间:2026-10-13 | 2人浏览过
原创

本文详细演示如何使用Django框架搭建一个云端留言板应用。内容涵盖创建Django项目与APP、编写包含表单提交与数据展示的HTML模板、配置模板加载路径、设定本地与全局URL路由,以及实现处理POST留言保存和GET留言查询的视图函数。通过完整代码示例,帮助开发者快速掌握Django基础Web开发流程。

创建Django项目与应用

第一步,初始化Django项目结构。在项目根目录下执行命令创建名为cloudms的项目,进入该项目目录后,再创建一个名为msgapp的应用模块。


django-admin startproject cloudms
cd cloudms
python manage.py startapp msgapp

构建前端模板文件

第二步,准备前端模板文件。

在msgapp应用目录下新建templates文件夹,并在其中创建名为MsgSingleWeb.html的HTML文件。使用PyCharm等IDE新建HTML文件时,系统会自动生成包含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>

配置模板加载路径

第三步,配置模板加载路径。打开cloudms项目下的settings.py文件,修改TEMPLATES配置项中的DIRS参数,指定模板文件的查找目录为msgapp下的templates文件夹。


'DIRS': [os.path.join(BASE_DIR,"msgapp/templates")],

设定URL路由规则

第四步,配置URL路由规则。

首先配置本地路由。在msgapp应用目录下新建urls.py文件,定义该应用内的URL映射关系,具体代码内容如下。


from django.urls import path
from . import views

urlpatterns=[
  path('',views.msgproc),
]

接着配置全局路由。在cloudms项目的总urls.py文件中引入msgapp的本地路由,将特定路径指向msgapp的处理逻辑,具体配置如下。


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

urlpatterns = [
  path("msggate/",include('msgapp.urls')),
  path('admin/', admin.site.urls),
]

编写视图交互函数

第五步,编写处理交互逻辑的视图函数。

在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页面中特定变量赋值

至此,完成了云端留言板的核心开发步骤。希望本文的内容能为学习Django开发提供有益参考,欢迎继续支持本站获取更多技术资源。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表