电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Django表單提交后實現獲取相同name的不同value值

瀏覽:84日期:2024-10-06 17:55:17

i前端:nput_test.html

<!DOCTYPE html><html><head lang='en'> <meta charset='UTF-8'> <title>Search</title> <script> </script></head><body> <div><p>{{ result }}</p></div> <form action='' method='post'>{% csrf_token %} <input type='text' name='key'> <input type='text' name='key'> <input type='submit' value='Search' > </form></body></html>

兩個<input >標簽name都是’key’

后臺:Django views.py

def setting(request): if request.method == ’POST’: result_list = request.POST.getlist(’key’, ’’) result = str(result_list) return render_to_response(’input_test.html’, locals(), context_instance=RequestContext(request)) else: return render_to_response(’input_test.html’, locals(), context_instance=RequestContext(request))

運行后,在瀏覽器表單中輸入:

Django表單提交后實現獲取相同name的不同value值

打開chrome ,提交表單,看FormData,其實瀏覽器已經向后臺提交了兩個name 為’key ’的值。

Django表單提交后實現獲取相同name的不同value值

后臺也成功接收到一個列表 [’1’, ’2’]。

主要是這個API request.POST.getlist(),可以接收到所有共享同一個name的value,

QueryDict.getlist(key, default)¶Returns the data with the requested key, as a Python list. Returns an empty list if the key doesn’t exist and no default value was provided.

It’s guaranteed to return a list of some sort unless the default value was no list.

參考:http://stackoverflow.com/questions/14348321/getting-distinct-values-from-inputs-that-share-the-same-name

補充知識:django中form從后端查詢回顯到前端以及表單的提交到服務器操作

Django表單提交后實現獲取相同name的不同value值

這個表格是我以下代碼出現的效果,以下代碼也可以實現圖中修改保存刪除操作。

1:首先你得創建一張表,在這里建表語句我就不再寫了,再也簡單不過了。(別忘了加點數據哦!)

2:將表的數據通過view.py的函數返回到前端。在這里stu是表名,將所有的返回結果all通過一個data字典傳到前端的all里面去

def showstu(request): all=stu.objects.all() data={ 'all':all }return render(request,'searchstu.html',context=data)

3:有數據我們就可以拿到前端來展示了。

4 :新建一個searchstu.html文件,用來展示用的。

這個是最簡單的表用來提示用的

<table border='1' cellpadding='0' > <tr > <td>姓名</td> <td>年齡</td> <td>性別</td> <td>班級</td> <td colspan='3'>操作</td> </tr></table>

這個表是實現我們的功能的表

{% for student in all %}

<form action='{% url ’homework:updatestu’ %}' method='get' ><table border='1' cellpadding='0'><tr><td> <input type='text' name='s_id' value={{student.id}} style='display:none'></td><td> <input type='text' name='s_name' value={{student.stu_name}} ></td><td> <input type='text' name='s_age'value={{ student.stu_age}}></td><td> <input type='text' name='s_sex'value={{ student.stu_sex}}></td><td> <input type='text' name='s_cla' value={{ student.stu_class}}></td><td> <input type='button' value='修改' οnclick='update(this)'>#在這里用了兩種方法提交到服務器,一種是submit提交,還有一種是超鏈接提交。</td><td><input type='submit' value='保存' οnclick='save(this)'></td><td><a href='http://www.hdgsjgj.cn/homework/delstu/{{ student.id }}' rel='external nofollow' > <input type='button' value='刪除'></a></td></tr> </table> </form>

{% endfor %}

好了查詢功能已經做好了我們可以通過url訪問了

url(r'^showstu/', views.showstu,name='showstu'),

現在起要操作剩下的功能了,在這里的一個比較笨的辦法,要想實現點擊對應的按鈕刪除或者修改哪一個,就要把每行都設置成一個form提交表單。

因此我把form放在for循環內部,這樣循環一條就會多一個form表單。

5:實現提交后后端的處理函數,通過get獲取。

更新操作

def updatestu(request): id = request.GET.get('s_id') name=request.GET.get('s_name') sex=request.GET.get('s_sex') age=request.GET.get('s_age') cla=request.GET.get('s_cla')#獲取數據庫中這個id將和這個id有關的數據設置成你get到前面的值,別忘記保存!修改完后直接刷新這個頁面也就是重定向到這個頁面 stu1=stu.objects.filter(pk=id).first() stu1.stu_age=age stu1.stu_class=cla stu1.stu_sex=sex stu1.stu_name=name stu1.save() return HttpResponseRedirect('/homework/showstu')

刪除操作

def delstu(request,id): stu1=stu.objects.filter(pk=id).first() stu1.delete() return HttpResponseRedirect('/homework/showstu')

以上這篇Django表單提交后實現獲取相同name的不同value值就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 岛津二手液相色谱仪,岛津10A液相,安捷伦二手液相,安捷伦1100液相-杭州森尼欧科学仪器有限公司 | 智慧农业|农业物联网|现代农业物联网-托普云农物联网官方网站 | 西安烟道厂家_排气道厂家_包立管厂家「陕西西安」推荐西安天宇烟道 | 球形钽粉_球形钨粉_纳米粉末_难熔金属粉末-广东银纳官网 | 淘趣英语网 - 在线英语学习,零基础英语学习网站 | ★塑料拖链__工程拖链__电缆拖链__钢制拖链 - 【上海闵彬】 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 众能联合-提供高空车_升降机_吊车_挖机等一站工程设备租赁 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 壹车网 | 第一时间提供新车_资讯_报价_图片_排行! | 深圳宣传片制作-企业宣传视频制作-产品视频拍摄-产品动画制作-短视频拍摄制作公司 | 金蝶帐无忧|云代账软件|智能财税软件|会计代账公司专用软件 | 轻型地埋电缆故障测试仪,频响法绕组变形测试仪,静荷式卧式拉力试验机-扬州苏电 | 云杂志网-学术期刊-首页 | 氧化铁红厂家-淄博宗昂化工| 磁粉制动器|张力控制器|气胀轴|伺服纠偏控制器整套厂家--台灵机电官网 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 3d可视化建模_三维展示_产品3d互动数字营销_三维动画制作_3D虚拟商城 【商迪3D】三维展示服务商 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 盘装氧量分析仪-防爆壁挂氧化锆分析仪-安徽吉帆仪表有限公司 | 专业生物有机肥造粒机,粉状有机肥生产线,槽式翻堆机厂家-郑州华之强重工科技有限公司 | 西宁装修_西宁装修公司-西宁业之峰装饰-青海业之峰墅级装饰设计公司【官网】 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | 细胞染色-流式双标-试剂盒免费代做-上海研谨生物科技有限公司 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 今日扫码_溯源二维码_产品防伪一物一码_红包墙营销方案 | 智慧水务|智慧供排水利信息化|水厂软硬件系统-上海敢创 | 施工围挡-施工PVC围挡-工程围挡-深圳市旭东钢构技术开发有限公司 | 广东教师资格网-广东教师资格证考试网 | 高压管道冲洗清洗机_液压剪叉式升降机平台厂家-林君机电 | 超声波_清洗机_超声波清洗机专业生产厂家-深圳市好顺超声设备有限公司 | 葡萄酒灌装机-食用油灌装机-液体肥灌装设备厂家_青州惠联灌装机械 | 耐高温电缆厂家-远洋高温电缆 | 电动液压篮球架_圆管地埋式篮球架_移动平箱篮球架-强森体育 | 上海公司注册-代理记账-招投标审计-上海昆仑扇财税咨询有限公司 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) | 深圳市东信高科自动化设备有限公司 | 全自动在线分板机_铣刀式在线分板机_曲线分板机_PCB分板机-东莞市亿协自动化设备有限公司 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 深圳VI设计-画册设计-LOGO设计-包装设计-品牌策划公司-[智睿画册设计公司] | 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 |