当前位置:首页 > 技术分析 > 正文内容

Django 前端页面

ruisui882个月前 (03-16)技术分析9

前端介绍了建立模型(表),并写了保存数据,与查询数据,那么在前端页面,如何将用户输入的数据提交到后台保存呢?

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" %}

{% csrf_token %}

新增任务
任务名称:操作人:
开始日期:结束日期:
任务描述:

{{ info }}

{% endif %}

{% 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 %},如果不加上这句,那么运行时会报一个错误。 这是一种安全机制,用于防止跨站攻击的。即后端服务要验证请求的来源是明确的。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2778.html

分享给朋友:

“Django 前端页面” 的相关文章

Linux发行版Debian推出12.2及11.8版本,修复多个安全问题

IT之家 10 月 9 日消息,Debian 是最古老的 GNU / Linux 发行版之一,也是许多其他基于 Linux 的操作系统的基础,包括 Ubuntu、Kali、MX 和树莓派 OS 等,近日 Debian 推出了 12.2 和 11.8 版本,主要修复了多个安全问题。▲ 图源 Debia...

2021最全VUE面试题,奥利给

1. vue-router用过没,哪些常用的钩子函数路由钩子的执行流程,钩子函数种类有:全局守卫、路由守卫、组件守卫。首页可以控制导航跳转, beforeEach , afterEach 等,?般?于页? title 的修改。?些需要登录才能调整??的重定向功能。beforeEach 主要有3个参数...

基于gitlab的PR操作教程

基于gitlab的PR操作教程注:该教程主要基于git命令行操作,其他图形化工具也可完成以下所有操作步骤,顺手即可。推荐工具:Source Tree ,TortoiseGit参考:gitflow一 . 基于分支的PR操作1. 本地切换到master分支1. 拉取最新代码2. 基于master创建ho...

代码分支规范

一.gitflow工作流说明:主分支:master,稳定版本代码分支,对外可以随时编译发布的分支,不允许直接Push代码,只能请求合并(pull request),且只接受hotfix、release分支的代码合并。gitlab上做限制。热修复分支:hotfix,针对现场紧急问题、bug修复的代码分...

一次Java内存占用高的排查案例,解释了我对内存问题的所有疑问

问题现象7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存。看了下其它服务,同样的堆内存配置,它们内存占用约70%~79%,此服务比其它服务内存占用稍大。那为什么此服务内存占用稍大...

高效使用 Vim 编辑器的 10 个技巧

在 Reverb,我们使用 MacVim 来标准化开发环境,使配对更容易,并提高效率。当我开始使用 Reverb 时,我以前从未使用过 Vim。我花了几个星期才开始感到舒服,但如果没有这样的提示,可能需要几个月的时间。这里有十个技巧可以帮助你在学习使用 Vim 时提高效率。1. 通过提高按键重复率来...