网站首页 > 教程文章 正文
前端介绍了建立模型(表),并写了保存数据,与查询数据,那么在前端页面,如何将用户输入的数据提交到后台保存呢?
django框架的处理逻辑大体是这样的:
1,前端页面表单一般是在一个form里面,在form中指定action
2,在urls.py中定义路由,接受form中action指定的路径(由)
3,在views.py或自定义的py模块中定义后端处理逻辑,并返回给前端
1,创建前端页面
通用情况下,前端页面都是html文件,在myweb\web\templates目录新建一个taskAdd.html文件,编辑代码如下:
{% extends 'base.html' %}
{% block content %}
{% include "v3/v3Com.html" %}
<form enctype="multipart/form-data" action="/taskAdd" method="post" class="tableForm" id="taskForm">
{% csrf_token %}
<table width='100%' border='1' bgcolor="#eeeeee" bordercolor='#aabbcc' cellspacing='1' cellpadding='0'>
<tr class="tit"><td align="center" colspan="6" bgcolor='#aabbcc'>新增任务</td></tr>
<tr>
<td>任务名称:</td>
<td><input type="text" name="task_name " id="task_name " ></td>
<td>操作人:</td>
<td ><input type="text" name="task_user " id="task_user"></td>
</tr>
<tr>
<td>开始日期:</td>
<td><input type="text" name="task_start_date" id="task_start_date"></td>
<td>结束日期:</td>
<td><input type="text" name="task_end_date" id="task_end_date"></td>
</tr>
<tr>
<td>任务描述:</td>
<td colspan="3"><textarea rows="20" cols="180" name="task_describe" id="task_describe"></textarea></td>
</tr>
<tr class="btnBar">
<td align="center" colspan="4">
<input type="submit" value="提交" class="u-btn s-primary">
</td>
</tr>
<tr>
<td colspan="4">{{ info }}</td>
</tr>
</table>
{% endif %}
</form>
{% endblock %}
在没有美化的情况,一个比较粗糙的页面是这样的:
2,编辑views.py文件
编辑myweb\web\views.py文件,加入代码:
import database
# 保存任务表
def task_add(request):
task_info = dict()
task_info['task_name'] = request.POST.get('task_name')
task_info['task_user'] = request.POST.get('task_user')
task_info['task_describe'] = request.POST.get('task_describe')
task_info['task_start_date'] = request.POST.get('task_start_date')
task_info['task_end_date'] = request.POST.get('task_end_date')
dataBase.save_task(task_info)
因为我们把保存数据的逻辑是写在 database.py里的save_task函数里的
所以先引入database,再调用save_task函数。(如果不清楚,看“保存数据”那章节的内容)
3,配置urls.py文件
编辑urls.py文件,加入:
url(r'^taskAdd/', views.task_add),
前端页面的form提交时会先在urls.py里找到form里action指定的路径taskAdd,urls根据taskAdd,去调用views.task_add函数。
另外注意在form里的{% csrf_token %},如果不加上这句,那么运行时会报一个错误。 这是一种安全机制,用于防止跨站攻击的。即后端服务要验证请求的来源是明确的。
猜你喜欢
- 2025-10-02 RS485+PHP+串口服务器,用TCP方式实现温度实时监测代码
- 2025-10-02 Java文件上传与下载_java文件上传与下载一样吗
- 2025-10-02 四款开源电子表格组件,轻松集成到你的项目
- 2025-10-02 HTML-注册页面 212_html注册页面模板
- 2025-10-02 零基础学习HTML图像热区特殊字符无序列表和有序定义列表表格
- 2025-10-02 打破常规:利用Java技术快速构建属于你的在线PDF生成神器
- 2025-10-02 一文学会jenkins pipline自动化构建
- 2025-10-02 HTML前端常用标签(复习)_html前端页面设计
- 2025-10-02 HTML DOM TableHeader 对象_html document对象
- 2025-10-02 Vue插槽(Slot)深度解析:从匿名到作用域的组件复用革命
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)
