Django URL传参与POST表单数据提交的实现详解
本文详细解析Django中URL传参与POST表单数据提交的具体用法。通过前端HTML链接传递参数至视图函数,以及利用form表单配合csrf_token提交数据,展示了views.py中如何接收和处理GET与POST请求。包含urls.py路由配置及视图函数代码示例,帮助开发者快速掌握前后端数据交互的核心技巧。
在Web开发领域,POST与GET是处理表单交互的两种核心机制,它们构成了前后端数据交换的基础架构。为了便于后续查阅及同行交流,本文整理并记录了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. 使用POST方法处理FORM表单
#前端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表单POST提交功能的完整示例分享,旨在为读者提供实用的参考。若觉得内容对您有帮助,欢迎支持本站,并提供宝贵反馈。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













