2016-05-09 6 views
0

Ich habe folgende Zeilen in models.py:django form_isvalid() gibt Fehler 'Geben Sie eine ganze Zahl' für Schwimmer Feld

  ('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()), 

Ich lief manage.py makemigarations und manage.py migrate. Der Eintrag in der Datenbank zeigt auch, dass es ein doppeltes Feld ist. Aber beim Ausführen der App auf Nginx-Server bekomme ich folgenden Fehler: enter image description here

Bitte helfen Sie mir, dies zu lösen.

Edit:

Ich bin mit Modelform in meiner Anwendung:

class StudentForm(forms.ModelForm): 

    class Meta: 
     model = Student 
     fields = '__all__' 

Überraschenderweise, wenn ich mit der gleichen Konfiguration auf meinem lokalen System die gleiche App leite, es funktioniert gut. Aber nachdem ich es auf dem Nginx-Server gehostet habe, bekomme ich den beschriebenen Fehler.

Dies ist Template-Code:

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

Der Blick Code lautet:

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

zeigen Sie Ihre Vorlage und Ansicht Code – Anentropic

+0

Gib mir eine Minute. Danke für die Antwort. Hier ist der Link der Website: http://jamiaalumniusa.com/apply/ – learner

+0

Stellen Sie sicher, dass Sie Ihren Server (z. B. uwsgi/gunicorn) neu gestartet haben, nachdem Sie den Code aktualisiert und "migrate" ausgeführt haben. – Alasdair

Antwort

1

Nachdem Sie den Code in der Produktion geändert haben, müssen Sie den Server neu starten, damit die Änderungen wirksam werden.

Wenn Sie mit Apache und mod_wsgi bereitstellen, sollte der Neustart von Apache funktionieren.

Wenn Sie mit Nginx (oder einem anderen Server) als Reverseproxy bereitstellen, wird ein Neustart nicht funktionieren. Sie müssen Ihren Django-Server z. Gunicorn oder UWSGI.

+1

Danke für die Hilfe. Ich habe mich seit zwei Tagen mit dem Problem herumgeschlagen. – learner

1

Dieser Fehler nur in IntegerField, werden Sie wahrscheinlich irgendwo Feldnamen gemischt und unter Verwendung von Integer-Feld in einem Formular.

0

Dieses Problem tritt nur von forms.py auf. Ich habe die Formulare, Sie könnten ein falsches Argument in diesem Bereich verwendet haben.

Verwandte Themen