[英]How to get current value from django table
单击删除按钮后,我只能从 django 表中获取最后一个值。
.html 文件 -
<body>
<div class="for-body">
<!-- test table -->
<form method="POST" action="">
{% csrf_token %}
<input id="label" name="engname" value="{{ eng_name }}">{{ eng_name }}</input>
<button name="update" class="add-button" type="submit"><b>Update</b></button>
<button name="add" class="add-button1" type="submit"><b>Add Existing User</b></button>
<tbody class="for-tbody1">
<tr class="for-tr1">
<td class="for-td1">
<dh-components-grid-body-render class="for-dhcomp">
<div class="for-div1">
<table class="for-table1" id="pgnum">
<thead class="for-thead1">
<tr class="for-tr2">
<td class="for-td2"><div class="dh-grid-headers-cell-default">User</div></td>
<td class="for-td2"><div class="dh-grid-headers-cell-default">Email</div></td>
<td class="for-td2"><div class="dh-grid-headers-cell-default">Role</div></td>
<td class="for-td2"><div class="dh-grid-headers-cell-default">Remove</div></td>
</tr>
</thead>
<tbody class="for-tbody2">
<tr class="for-tr3">
{% for i in user_list %}
<td class="for-td3"><div class="cell-default-style">{{i.first_name}} {{i.last_name}}</div></td>
<td class="for-td3"><div class="cell-default-style"><input type="hidden" value="{{ i.email }}" name="email">{{i.email}}</input></div></td>
{% if i.is_superuser == True %}
<td class="for-td3"><div class="cell-default-style">Super User</div></td>
{% elif i.is_staff == True %}
<td class="for-td3"><div class="cell-default-style">Admin</div></td>
{% else %}
<td class="for-td3"><div class="cell-default-style">Practitioner</div></td>
{% endif %}
<td class="for-td3"><div class="cell-default-style"><button class="btn" name="delete" type="submit"><img src="/static/assets/images/trash1.png" style="width: 18px;" alt="Delete"></button></div></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</dh-components-grid-body-render>
</td>
</tr>
</tbody>
</form>
</div>
</body>
视图.py -
def engagement_admin_edit(request, id):
staff = request.user.is_staff
a = User.is_authenticated
if staff == True:
eng_list = Grp.objects.all()
eng = Grp.objects.get(id = id)
eng_name = eng.gname
eng_name = str(eng_name)
eng_id = eng.id
cursor = connection.cursor()
cursor.execute('''SELECT * FROM main_enguser WHERE eid=%s''',[eng_id])
row = cursor.fetchall()
users = []
for i in row:
users.append(i[1])
user_list = User.objects.filter(email__in=users)
if request.method == 'POST':
if 'update' in request.POST:
name = (request.POST.get('engname'))
if name != eng_name:
engid = eng.id
engid = int(engid)
cursor = connection.cursor()
cursor.execute('''UPDATE main_grp SET gname=%s WHERE id=%s''',[name,engid])
messages.success(request, 'Engagement Name Updated Successfully')
return redirect('/eng_admin')
else:
print("There")
messages.success(request, 'No Changes Detected')
return redirect('/eng_admin')
if 'delete' in request.POST:
email = request.POST.get('email', '')
print("HI")
print(email)
messages.success(request, 'No Changes Detected')
return render(request, "main/admin_eng_edit.html", {'eng_name':eng_name, 'user':users, 'user_list':user_list})
在views.py 的主要部分是:
if 'delete' in request.POST:
email = request.POST.get('email', '')
print("HI")
print(email)
即使单击了第一行的删除按钮,该脚本也只会打印最后一行的电子邮件 ID。 也试过 request.POST.get('email') 。 尝试更改标签位置。
但它没有帮助任何形式的帮助表示赞赏! 先感谢您
HTML 表单不能提供来自多个同名字段的数据。
但是,您可以使用“值”HTML 属性在提交按钮内传递一个值
尝试这样的事情:
<button class="btn" name="delete" type="submit" value="{{ i.email }}"><img src="/static/assets/images/trash1.png" style="width: 18px;" alt="Delete"></button>
然后在您的代码中:
email = request.POST.get('delete', '')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.