编辑 HTML table 中一行的值
Edit the values from a row in the HTML table
我有一个 table 看起来像这样:
{% for item in records %}
<tr>
<td>
<form action="{% url 'update_record'%}" method="post">{% csrf_token %}
<input type="text" class="title" value="{{ item.title }}" size="20" maxlength="30" />
<input type="hidden" value={{ item.id }} name="new_title" />
<input type="submit" value="edit" />
</form>
</td>
<td>
<input type="text" class="result" value="{{ item.results }}" size="10" maxlength="20" readonly />
</td>
</tr>
{% endfor %}
两个字段(标题、结果)都已经有了值,但我正在尝试编辑它们的值,然后将新的标题值发送到我的 Django 视图:
@csrf_exempt
def update_record(request):
# do things with the new title value
sleep(3)
return redirect('profile')
这是我的 urls.py ,以防有任何帮助:
urlpatterns = [url(r'^update_record/', views.update_record, name='update_record'),]
我尝试在 post 和 get 方法之间切换,使用 AJAX 和几乎所有我能找到的相关方法,但似乎没有任何效果。当前代码不会产生任何错误,但我没有在“request.POST”字典中看到字段。
任何方法都将不胜感激,因为此时我不知道该尝试什么,除了分析 Ajax 类!
你快到了。
要使字段出现在 request.POST
词典中,输入字段需要 name
属性。
<form action="{% url 'update_record'%}" method="post">
{% csrf_token %}
<input name="item_new_title" type="text" class="title" value="{{ item.title }}" size="20" maxlength="30" />
<input name="item_id" type="hidden" value="{{ item.id }}" />
<input type="submit" value="edit" />
</form>
这里是您的表单的一个稍微修改过的版本,但是我 added/changed item_new_title
和 item_id
输入的 name
属性作为示例。
使用此表单,您应该能够使用它们的 name
属性作为键来获取两个字段的值。
def update_record(request):
if request.method=='POST':
item_id = request.POST.get('item_id')
item_new_title = request.POST.get('item_new_title')
# do things with the new title value
return redirect('profile')
我有一个 table 看起来像这样:
{% for item in records %}
<tr>
<td>
<form action="{% url 'update_record'%}" method="post">{% csrf_token %}
<input type="text" class="title" value="{{ item.title }}" size="20" maxlength="30" />
<input type="hidden" value={{ item.id }} name="new_title" />
<input type="submit" value="edit" />
</form>
</td>
<td>
<input type="text" class="result" value="{{ item.results }}" size="10" maxlength="20" readonly />
</td>
</tr>
{% endfor %}
两个字段(标题、结果)都已经有了值,但我正在尝试编辑它们的值,然后将新的标题值发送到我的 Django 视图:
@csrf_exempt
def update_record(request):
# do things with the new title value
sleep(3)
return redirect('profile')
这是我的 urls.py ,以防有任何帮助:
urlpatterns = [url(r'^update_record/', views.update_record, name='update_record'),]
我尝试在 post 和 get 方法之间切换,使用 AJAX 和几乎所有我能找到的相关方法,但似乎没有任何效果。当前代码不会产生任何错误,但我没有在“request.POST”字典中看到字段。
任何方法都将不胜感激,因为此时我不知道该尝试什么,除了分析 Ajax 类!
你快到了。
要使字段出现在 request.POST
词典中,输入字段需要 name
属性。
<form action="{% url 'update_record'%}" method="post">
{% csrf_token %}
<input name="item_new_title" type="text" class="title" value="{{ item.title }}" size="20" maxlength="30" />
<input name="item_id" type="hidden" value="{{ item.id }}" />
<input type="submit" value="edit" />
</form>
这里是您的表单的一个稍微修改过的版本,但是我 added/changed item_new_title
和 item_id
输入的 name
属性作为示例。
使用此表单,您应该能够使用它们的 name
属性作为键来获取两个字段的值。
def update_record(request):
if request.method=='POST':
item_id = request.POST.get('item_id')
item_new_title = request.POST.get('item_new_title')
# do things with the new title value
return redirect('profile')