已关闭此问题为not reproducible or was caused by typos。它目前不接受回答。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
10天前关闭。
Improve this question
我有一个打击的观点
def assign_item_view(request, pk):
item = Item.objects.get(Serial_no=pk)
if request.method == "POST":
form = AssignmentForm(request.POST, instance=item)
if form.is_valid():
form.save()
return HttpResponseRedirect('/user')
else:
form = AssignmentForm(instance=item)
context = {"item": item,"form": form} # move this line here
return render(request, "workshop/Add_assignment.html", context)
`def assign_item_view(request,pk):
item = Item.objects.get(Serial_no=pk)
if request.method == "POST":
form = AssignmentForm(request.POST, instance=item)
if form.is_valid():
form.save()
return HttpResponseRedirect('/user')
else:
form = AssignmentForm(instance=item)
context = {"item": item,"form": form} # move this line here
return render(request, "workshop/Add_assignment.html", context)`
我得到了下面的错误
无法访问与值不关联的局部变量“context”
1条答案
按热度按时间rekjcdws1#
上下文应该 * 不 * 只在GET请求的情况下使用:
注意:通常使用**
get_object_or_404(…)
[Django-doc]比直接使用.get(…)
[Django-doc]更好。如果对象不存在,例如因为用户自己更改了URL,则get_object_or_404(…)
将导致返回 HTTP 404 Not Found 响应,而使用.get(…)
将导致 HTTP 500 Server Error。注意:虽然大多数表单不处理媒体文件,但最好还是将
request.FILES
[Django-doc]传递给表单,这样,如果您稍后添加额外的媒体字段,所有使用表单的视图都会正确处理文件。注意:您可以使用
redirect(…)
[Django-doc],根据视图名称和参数确定url。这比执行字符串格式化,然后将其 Package 在一个HttpResponseRedirect
**对象[Django-doc]中更安全和优雅。