2016-07-29 13 views
0

Ich möchte das folgende Formular rendern, aber Django wirft einen Fehler aus und ich verstehe nicht warum. Danke im Voraus.NameError: Name 'Name' ist nicht in Django Formular definiert

forms.py:

from django import forms 
from .models import equipment 



class neweqForm(forms.ModelForm): 
    class Meta: 
     model = equipment 

    name = forms.CharField(label=Name, max_lenght=100) 
    fabricator = forms.CharField(label=Hersteller, max_lenght=100) 
    storeplace = forms.IntegerField(label=Regal) 
    labour = forms.ChoiceField(label=Gewerk) 

models.py:

from __future__ import unicode_literals 

from django.db import models 

# Create your models here. 
class equipment(models.Model): 
    name = models.CharField(max_length=30) 
    fabricator = models.CharField(max_length=30) 
    storeplace = models.IntegerField() 
    labor_choices = ( 
     ('L', 'Licht'), 
     ('T', 'Ton'), 
     ('R', 'rigging'), 
    ) 
    labor = models.CharField(max_length=1, choices=labor_choices) 

Fehler:

NameError: name 'Name' is not defined 

Antwort

3

Sie sind für jedes Feld label haben, aber Sie verwenden Name, Hersteller usw. um den Wert zuzuweisen. Möglicherweise haben Sie ein großes Missverständnis über Variablen und Zeichenketten. Wenn Sie etwas nicht zitieren, werden sie in Python als Variablen behandelt. Aber sie haben nirgends anders definiert, also sagt Python, dass dies nicht definierte Variablen sind.

Quick Fixes würde Anführungszeichen um alle Etiketten Werte werden ergänzt:

name = forms.CharField(label="Name", max_lenght=100) 

Sie klebte nur den Fehler aus der Zurückverfolgungs, groß, aber Sie müssen lernen, wie die Zurückverfolgungs geht nach vorn zu lesen. Wenn Sie das Traceback rückwärts lesen, sagt es Ihnen, was jede Funktion ist, die den ultimativen Fehler führt. Ich bin ziemlich sicher, dass die Zeile name = forms.CharField(label=Name, max_lenght=100) am Ende auftaucht (wenn Sie etwas anderes anrufen, könnte es in der Mitte sein), die Ihnen sagt, dass das der Ort ist, wo Fehler passiert. Davon würden Sie beim Nachverfolgen der Fehler profitieren.

+0

Was für ein dummer Fehler! Danke für Ihre Hilfe. – nictec

Verwandte Themen