1 回答

TA贡献1834条经验 获得超8个赞
您应该发出请求,而不是发出 POST 请求GET,因为此请求不会修改数据库中的任何内容。现在,您可以像这样进行实现:
<form action="{% url 'students:detail' %}" method="GET">
<div class="form-group">
<label for="enrollmentid">Enrollment ID: </label>
<input type="text" class="form-control" name="enrollmentid" placeholder="Enter enrollment id">
</div>
<div class="form-group">
<label for="dob">Date of Birth: </label>
<input type="text" class="form-control" name="dob" placeholder="Enter dob (YYYY-MM-DD)">
</div>
<button class="btn btn-primary">Edit Details</button>
</form>
然后你可以像这样更新你的视图:
def detail(request):
try:
student = Student.objects.get(pk=request.GET.get('enrollmentid'), dob=request.GET.get('dob'))
except Student.DoesNotExist:
raise Http404("Student do not exist")
return render(request, 'students/detail.html', {'student': student})
然后在提交表单时,它将重定向到这样的 url:http://localhost:8000/students/detail/?enrollmentid=123&dob=2020-01-01
添加回答
举报