Django web框架开发基础-django实现留言板功能
1.创建项目 cmd django-admin startpoject cloudms
2.创建APP cmd django-admin startapp msgapp
3.修改settings,TEMPLATES中
TEMPLATES = [
{
'DIRS': [os.path.join(BASE_DIR,'msgapp/templates')],
}
4.编写HTML文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>云端留言板()首页</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="">
<thead>
<th>留言时间</th>
<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>
<td>{{ line.userB }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>
5.编写views文件
from django.shortcuts import render # Create your views here. from django.shortcuts import render
from datetime import datetime def msgproc(requset):
datalist = []
if requset.method == 'POST':
userA = requset.POST.get('userA',None)
userB = requset.POST.get('userB',None)
msg = requset.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 requset.method == 'GET':
userC = requset.GET.get('userC',None)
if userC != None:
with open('msgdata.txt','r') as f:
cnt =
for line in f:
linedata =line.split('--')
if linedata[] == userC:
cnt = cnt +
d = {'userA':linedata[],'msg':linedata[],\
'time':linedata[],'userB':linedata[]}
datalist.append(d)
if cnt >= :
break
return render(requset,'MsgSingleWeb.html',{'data':datalist})
6.配置本地路由:新增urls
from django.urls import path
from . import views urlpatterns = [
path('', views.msgproc),
]
7.配置全局路由:
from django.contrib import admin
from django.urls import path,include urlpatterns = [
path('admin/', admin.site.urls),
path('msggate/',include('msgapp.urls'))
]
8.启动项目:cmd python manage.py runserver 0:8080
Django web框架开发基础-django实现留言板功能的更多相关文章
- [Python web开发] Web框架开发基础 (一)
Python WEB框架 WSGI,WEB Server Gateway Interface,可以看做是一种底层协议,它规定了服务器程序和应用程序各自实现上面接口.Python的实现称为wsgiref ...
- 自创Web框架之过度Django框架
目录 自创Web框架之过度Django框架 软件开发架构 HTTP协议 Web框架之"撸起袖子加油干" Web框架之通过wsgiref加油干 封装优化处理 动静网页 jinjia2 ...
- 教程:Visual Studio 中的 Django Web 框架入门
教程:Visual Studio 中的 Django Web 框架入门 Django 是高级 Python 框架,用于快速.安全及可扩展的 Web 开发. 本教程将在 Visual Studio 提供 ...
- Django web框架 下载安装 简单项目搭建
什么是web应用? Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式C/S.B/S.C/S是客 ...
- web框架之初识Django
目录 一.web框架 1.1什么是web框架 1.2自制的简易web框架 1.3三大主流web框架简介 Django Flask Tornado 1.4动态网页与静态网页 二.初识Django框架 2 ...
- [oldboy-django][1初始django]web框架本质 + django框架 + ajax
web框架本质 浏览器(socket客户端) - 发送请求(ip和端口,url http://www.baidu.com:80/index/) - GET 请求头(数据请求行的url上: Http1. ...
- Web前端开发基础 第一天(Html和CSS)
学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的: 1. HTML是网页内容的载体.内容就是网页制作者放在页面上想要让用户 ...
- 网络统计学与web前端开发基础技术
网络统计学与web前端开发基础技术 学习web前端开发基础技术(网页设计)需要了解:HTML.CSS.JavaScript三种语言.下面我们就来了解一下这三门技术在网页设计中的用途: HTML是网页内 ...
- Web开发从零单排之二:在自制电子请帖中添加留言板功能,SAE+PHP+MySql
在上一篇博客中介绍怎样在SAE平台搭建一个html5的电子请帖网站,收到很多反馈,也有很多人送上婚礼的祝福,十分感谢! web开发从零学起,记录自己学习过程,各种前端大神们可以绕道不要围观啦 大婚将至 ...
随机推荐
- Fast Paxos
http://blog.csdn.net/chen77716/article/details/7297122 自从Lamport在1998年发表Paxos算法后,对Paxos的各种改进工作就从未停止, ...
- SAE提供服务分析
这个分析列表主要关注两个问题,服务能做什么,移植实现难度. AppConfig: 这个东西主要面向SAE本身的一些配置选项,移植时放弃这个东西,所以就不谈难度了Counter :这个东西提供某个操作的 ...
- SQLServer2PostgreSQL迁移过程中的几个问题
1.PostgreSQL 跨平台迁移工具Migration Toolkit的使用指南:http://www.enterprisedb.com/docs/en/8.4/mtkguide/Table%20 ...
- Android集成ffmpeg
1.ffmpeg官网文档地址:https://trac.ffmpeg.org/wiki/CompilationGuide/Android 2.上面页面资源列表里面第一项 https://github. ...
- POSTGRESQL 并发控制
http://meidayhxp.blog.163.com/blog/static/117608156201210243837491/ 这个内容是官方Doc中的一章,具体是那一版的,还未确认. 第九章 ...
- C#将一个枚举里面所有描述和value绑定到下拉列表的方法
/// <summary> /// 获取枚举值的描述,如果没有描述,则返回枚举名称 /// </summary> /// <param name="en&quo ...
- 爬取廖雪峰的python3教程
从廖雪峰老师的python教程入门的,最近在看python爬虫,入手了一下 代码比较low,没有用到多线程和ip代理池 然后呢,由于robots.txt的限定,构建了一些user-agent,并放慢的 ...
- JAVA未来前景还能持续多久
有很多人一直在说JAVA现在已经饱和了,已经没有必要学Java,程序员已经是严重过剩,行业人才竞争状况更是恶性的之类的云云.现实真是这样嘛? Java目前现状 首先,Java的应用可以说是无处不在,从 ...
- This 在构造函数中的固定用法
class Person{ String name; int age; char gender; public Person (String name){ this.name = name; } pu ...
- 跨域cors方法(jsonp,document.domain,document.name)及iframe性质
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...