基于Django URL传参 FORM表单传数据 get post的用法实例


Posted in Python onMay 28, 2018

POST和GET是web开发中常用的表单交互方法,是构建web前后端交互系统的顶梁柱,现将Django中的简单用法示例记录下来,以供后续查询和其他同学参考

1.URL传参

#前端html的链接中用模版标签把参数"x"传递给achievement这个应用的yearcontent方法
<td><a href={% url 'achievement:yearcontent' x %} >{{ x }}</a></td>
#urls.py中用正则匹配接收参数,(?P<year>[0-9]+)用括号括起来接收前端传过来的x=2017,好传给视图函数views.py使用,?P用于设置匹配部分的名字,views.py里面要用这个名字来接收参数的,[0-9]+表示正则匹配所有整数
url(r'^yearcontent/(?P<year>[0-9]+)/$', views.yearcontent, name='yearcontent'),
#views.py里面接收传过来的year=2017,后续方法体中再用传过来的参数搞事情,这就是用URL传参也就是GET方法的一种使用
def yearcontent(request,year):

2.FORM表单 用POST

#前端html中设置好name,因为后续要通过name获得数据
<form class="form-horizontal" role="form" action="{% url 'achievement:set_new_purpose' %}" method="post">
{% csrf_token %}
<div class="form-group">
  <label class="col-lg-2 control-label">目标</label>
  <div class="col-lg-10">
   <input type="text" class="form-control" id="cc" placeholder="" name="achievement_title">
  </div>
</div>
<div class="form-group">
  <label class="col-lg-2 control-label">备注</label>
  <div class="col-lg-10">
   <textarea id="" class="form-control" cols="30" rows="10" name="achievement_text"></textarea>
  </div>
</div>
<div class="form-group">
  <div class="col-lg-offset-10">
   <button type="submit" class="btn btn-send" type="submit">确定</button>
  </div>
</div>
</form>
#urls中
url(r'^set_year_summary$', views.set_year_summary, name='set_year_summary'),
#视图函数views.py中, request.POST[name]来接收form表单的数据,然后就可以搞事情了
def set_year_summary(request):
 achievement_date = request.POST['year']
 achievement_summary = request.POST['achievement_text']
 twz = AchievementYear.objects.get(achievement_date=achievement_date)
 print twz
 twz.achievement_summary = achievement_summary
 twz.save()
 return redirect('achievement:index')

以上这篇基于Django URL传参 FORM表单传数据 get post的用法实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 Python
python递归查询菜单并转换成json实例
Mar 27 Python
浅谈Python中的bs4基础
Oct 21 Python
python异步存储数据详解
Mar 19 Python
使用Python中的reduce()函数求积的实例
Jun 28 Python
python自带tkinter库实现棋盘覆盖图形界面
Jul 17 Python
使用Python实现正态分布、正态分布采样
Nov 20 Python
python 多维高斯分布数据生成方式
Dec 09 Python
如何基于Python + requests实现发送HTTP请求
Jan 13 Python
Python3 hashlib密码散列算法原理详解
Mar 30 Python
python中导入 train_test_split提示错误的解决
Jun 19 Python
详解python3类型注释annotations实用案例
Jan 20 Python
浅析Python装饰器以及装饰器模式
May 28 #Python
Python装饰器知识点补充
May 28 #Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 #Python
django manage.py扩展自定义命令方法
May 27 #Python
python实现windows下文件备份脚本
May 27 #Python
django 解决manage.py migrate无效的问题
May 27 #Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 #Python
You might like
BBS(php &amp; mysql)完整版(五)
2006/10/09 PHP
php中随机显示图片的函数代码
2011/06/23 PHP
PHP程序员基本要求和必备技能
2014/05/09 PHP
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
js文字横向滚动特效
2015/11/11 Javascript
vue.js指令v-model实现方法
2016/12/05 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
详解JS函数防抖
2020/06/05 Javascript
JavaScript setTimeout()基本用法有哪些
2020/11/04 Javascript
Python随机生成一个6位的验证码代码分享
2015/03/24 Python
Python实现大文件排序的方法
2015/07/10 Python
Python 文件管理实例详解
2015/11/10 Python
pycharm设置注释颜色的方法
2018/05/23 Python
详解Python文件修改的两种方式
2019/08/22 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
美国在线健康和美容市场:Pharmapacks
2018/12/05 全球购物
北京某公司的.net笔试题
2014/03/20 面试题
生产主管岗位职责
2013/11/10 职场文书
岗位职责说明书模板
2014/07/30 职场文书
社会实践的活动方案
2014/08/22 职场文书
建国大业观后感600字
2015/06/01 职场文书
小学教师见习总结
2015/06/23 职场文书
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
MySQL脏读,幻读和不可重复读
2022/05/11 MySQL