[英]Django url parameters in html code
我試圖將待辦事項列表項的ID傳遞給我的html代碼,以便當我編輯待辦事項列表項並單擊提交時一切正常。
在views.py中:
def edit(request, id):
todo = Todo.objects.get(id=id)
context = {
'todo': todo
}
if(request.method == 'POST'):
title = request.POST['title']
text = request.POST['text']
todo.title = title
todo.text = text
todo.save()
return redirect('/todos')
else:
return render(request, 'edit.html', context)
在urls.py中:
url(r'^details/(?P<id>\w{0,50})/edit/$', views.edit, name='edit')
在HTML中:
<h2>Edit Todo- {{ todo.title }}</h2>
<form action="{% url 'edit' request.todo.id %}" method="post">
{% csrf_token %}
<label for="title">Title</label> <br/>
<input type="text" name="title" id="title"/>
<br>
<label for="text">Text</label> <br/>
<textarea type="text" name="text" id="text"></textarea>
<br><br>
<input type="submit" value="Submit"/>
</form>
我認為問題出在html代碼中的網址中。 我不知道如何傳遞待辦事項項的id參數。
我不斷收到的錯誤是
invalid literal for int() with base 10: ''
請幫忙
問題就在那里:不要使用“ request ”,通過上下文發送的對象是“ todo ”:
<form action="{% url 'edit' todo.id %}" method="post">{% csrf_token %}
或者您可以將其留空。 空白表示當前顯示的視圖
<form action="" method="post">{% csrf_token %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.