Django URL传参 FORM表单传数据 get post用法示例

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

既然用了form那就用post把,想了解get的看这里http://blog.csdn.net/u013205877/article/details/76909356

#前端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')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值