2016-07-29 10 views
0

다음 양식을 렌더링하고 싶지만 django가 오류를 발생시키고 이유를 이해하지 못합니다. 미리 감사드립니다.NameError : name 'Name'이 django 양식에 정의되어 있지 않습니다.

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) 

오류 :

NameError: name 'Name' is not defined 

답변

3

당신은 각 필드에 label가있는,하지만 당신은 Name를 사용하고, Hersteller , 등 값을 할당합니다. 변수와 문자열에 대한 오해가있을 수 있습니다. 따옴표를 사용하지 않으면 파이썬에서 변수로 취급됩니다. 그러나 다른 곳에서는 정의되지 않았기 때문에 파이썬은 정의되지 않은 변수라는 것을 알려줍니다.

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

당신은 단지 큰 역 추적에서 오류를 붙여 있지만 역 추적 향후 읽는 방법을 배울 필요가 :

빠른 수정 모든 레이블 값 따옴표를 추가하는 것입니다. 역 추적을 거꾸로 읽으면 궁극적 인 오류를 이끌어내는 각 함수가 무엇인지 알려줍니다. 나는 그 줄이 name = forms.CharField(label=Name, max_lenght=100)인데, 그 줄이 오류가 발생하는 곳이라는 것을 알기 때문에 결국에는 그 줄이 보이는지 확신 할 수있다. 오류를 추적하는 동안 많은 이점을 얻을 수 있습니다.

+0

어리석은 오류! 당신의 도움을 주셔서 감사합니다. – nictec

관련 문제