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

yipeiwu_com6年前Python基础

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绘制的二项分布概率图示例

Python绘制的二项分布概率图示例

本文实例讲述了Python绘制的二项分布概率图。分享给大家供大家参考,具体如下: 问题: 抛硬币,20次,每一次朝上的概率是0.3.要求绘制连续几次正面朝上的概率图 Python代码:...

完美解决Python2操作中文名文件乱码的问题

完美解决Python2操作中文名文件乱码的问题

Python2默认是不支持中文的,一般我们在程序的开头加上#-*-coding:utf-8-*-来解决这个问题,但是在我用open()方法打开文件时,中文名字却显示成了乱码。 我先给大家...

pytorch 求网络模型参数实例

pytorch 求网络模型参数实例

用pytorch训练一个神经网络时,我们通常会很关心模型的参数总量。下面分别介绍来两种方法求模型参数 一 .求得每一层的模型参数,然后自然的可以计算出总的参数。 1.先初始化一个网络模型...

6行Python代码实现进度条效果(Progress、tqdm、alive-progress&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;和PySimpleGUI库)

6行Python代码实现进度条效果(Progress、tqdm、alive-progress&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;&#8203;和PySimpleGUI库)

在项目开发过程中加载、启动、下载项目难免会用到进度条,如何使用Python实现进度条呢? 这里为小伙伴们分享四种Python实现进度条的库:Progress库、tqdm库、alive-p...

python 定义给定初值或长度的list方法

python 定义给定初值或长度的list方法

1. 给定初值v,和长度l,定义list s 或者: 2. 产生一个数值递增list 2.1 从0开始以1递增 2.2 在[a,b)区间上以1递增 2.3 在[a,b)区间上以c...