-1
我想在填充表單的用戶沒有向表單中輸入有效信息時顯示必要的字段錯誤。在分配之前引用的/嵌套/局部變量'content'處獲得此UnboundLocalError
然而,每一個我的時間我點擊提交按鈕不填充任何字段測試錯誤腳本我得到這個錯誤:
UnboundLocalError在/嵌套/局部變量「內容」分配之前引用
我該如何糾正?
這是我的代碼:
veiws.py
from django.shortcuts import render, redirect
from django.views.generic import TemplateView
from nesting.forms import Identity_form
from nesting.models import Identity_unique
class Identity_view(TemplateView):
template_name = 'nesting/nesting.html'
def get(self, request):
form = Identity_form()
Identities = Identity_unique.objects.filter(user = request.user)
var = {'form': form, 'Identities': Identities}
return render(request, self.template_name, var)
def post(self, request):
form = Identity_form(request.POST or None)
if form.is_valid():
NIS = form.save(commit = False)
NIS.user = request.user
NIS.save()
content = form.cleaned_data['NIS']
form = Identity_form()
return redirect('nesting:nesting')
var = {'form': form, 'content': content}
return render(request,self.template_name, var)
錯誤消息是說的錯誤是由該行
var = {'form': form, 'content': content}
return render(request,self.template_name, var)
造成築巢.html
{% extends 'base.html' %}
{% load widget_tweaks %}
<html>
<head>
{% block head %}
<title>nesting</title>
{% endblock %}
</head>
<body>
{% block body %}
<div class = "container" style = "margin-top: 80px;">
<form method = 'post' novalidate>
{% csrf_token %}
{% for hidden_field in form.hidden_fields %}
{{ hidden_field }}
{% endfor %}
<div class = "col-sm-8 col-md-8 col-lg-6">
<p class = "font-weight-bold">Create Patient</p>
{% if form.non_field_errors %}
<div class = "alert alert-danger" role = "alert">
{% for error in form.non_field_errors %}
{{ error }}
{% endfor %}
</div>
{% endif %}
{% for field in form.visible_fields %}
<div class = "form-group">
{% if form.is_bound %}
{% if field.errors %}
{% render_field field class="form-control is-invalid" %}
{% for error in field.errors %}
<div class = "invalid-feedback ">
{{ error }}
</div>
{% endfor %}
{% else %}
{% render_field field class="form-control is-valid" %}
{% endif %}
{% else %}
{% render_field field class="form-control" %}
{% endif %}
{% if field.help_text %}
<small class = "form-text text-muted">{{ field.help_text }}</small>
{% endif %}
</div>
{% endfor %}
<button class = "btn-primary btn-large btn ">Submit</button>
</div>
</form>
</div>
<div class = "col-sm-8 col-md-6 col-lg-6">
{% for Identity in Identities %}
<div class = "card" style = "margin-top: 40px;">
<div class = "card-header">
<p class="font-weight-bold"> {{Identity.First_Name}} {{Identity.Last_Name}} </p>
</div>
<div class = "card-body">
<div class = "card-title">
<p class = "font-weight-light" style = "font-family: Optima">National Insurance Scheme : {{ Identity.NIS }}</p>
</div>
<p><small class = "card-text">Created On : {{ Identity.Timestamp }}</small></p>
<p><small class = "card-text">Address : {{ Identity.Residence }}</small></p>
</div>
</div>
{% endfor %}
</div>
</div>
{% endblock %}
</body>
</html>
你說錯誤來自的'var = {'form':form,'content':content}'行並不代表你的代碼中的任何地方。 – user2357112
@ user2357112該行應該位於views.py文檔中。 –
請參閱[mcve] – glennsl