Tengo las siguientes líneas en 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()),

Ejecuté manage.py makemigarations y manage.py migrate. La entrada en la base de datos también muestra que es un campo doble. Pero, mientras ejecuto la aplicación en el servidor nginx, recibo el siguiente error: ingrese la descripción de la imagen aquí

Por favor ayúdame a solucionar esto.

Editar:

Estoy usando modelform en mi aplicación:

class StudentForm(forms.ModelForm):

    class Meta:
        model = Student
        fields = '__all__'

Sorprendentemente, cuando estoy ejecutando la misma aplicación con la misma configuración en mi sistema local, funciona bien. Pero, después de alojarlo en el servidor nginx, recibo el error descrito.

Este es el código de la plantilla:

<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>

El código de vista es:

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
learner 10 may. 2016 a las 02:38

3 respuestas

La mejor respuesta

Después de haber cambiado el código en producción, debe reiniciar su servidor para que los cambios surtan efecto.

Si está implementando con Apache y mod_wsgi, entonces reiniciar Apache debería funcionar.

Si está implementando con Nginx (u otro servidor) como proxy inverso, reiniciarlo no funcionará. Necesita reiniciar su servidor Django, p. gunicorn o uWSGI.

1
Alasdair 11 may. 2016 a las 14:32

Este problema surge solo de forms.py. En los formularios, es posible que haya utilizado un argumento incorrecto en ese campo.

0
sprksh 10 may. 2016 a las 02:15

Este error solo está presente en IntegerField, probablemente mezcló los nombres de campo en alguna parte y usó el campo entero en un formulario.

2
serg 10 may. 2016 a las 01:43