我在models.py中有以下几行:
('total_marks_tenth', models.IntegerField()),
('obtained_marks_tenth', models.FloatField()),
('board_twelvth', models.TextField(default='')),
('subjects_twelvth', models.TextField(default='')),
('total_marks_twelvth', models.IntegerField()),
('obtained_marks_twelvth', models.FloatField()),
我跑了manage.py makemigarations
和manage.py migrate
。数据库中的条目还显示它是一个双字段。但是,在nginx服务器上运行应用程序时,我收到以下错误:
请帮我解决这个问题。
编辑:
我在我的应用程序中使用了modelform:
class StudentForm(forms.ModelForm):
class Meta:
model = Student
fields = '__all__'
令人惊讶的是,当我在本地系统上运行相同配置的相同应用程序时,它运行正常。但是,在nginx服务器上托管后,我收到了所描述的错误。
这是模板代码:
<div class='form-group internal'>
<div class='col-md-6'>
{% render_field form.obtained_marks_tenth class='form-control' placeholder='Obtained Marks' type='text' %}
{% if form.obtained_marks_tenth.errors %}
<div class="alert alert-danger tpad">
{{ form.obtained_marks_tenth.errors.as_text }}
</div>
{% endif %}
</div>
</div>
视图代码为:
def apply(request):
if request.method == 'POST':
form = StudentForm(request.POST)
if form.is_valid():
name = request.POST.get("name")
form.save()
print "Form is saved successfully."
return render(request, 'success.html',{'name' : name})
else:
print "Something went wrong"
print form.errors
return render(request, 'apply.html',{'form' : form})
return render(request, 'apply.html',{'form' : StudentForm()})
答案 0 :(得分:2)
此错误仅出现在IntegerField
中,您可能会在某处混淆字段名称并在表单中使用整数字段。
答案 1 :(得分:1)
更改生产中的代码后,必须重新启动服务器才能使更改生效。
如果要使用Apache和mod_wsgi进行部署,那么重新启动Apache应该可以正常工作。
如果您使用Nginx(或其他服务器)作为反向代理进行部署,则重新启动它将无法正常工作。您需要重新启动Django服务器,例如gunicorn或uWSGI。
答案 2 :(得分:0)
此问题仅来自forms.py。在表格中,您可能在该字段中使用了错误的参数。