2016-07-29 6 views
0

次の形式をレンダリングしたいが、djangoはエラーをスローし、理由を理解できない。前もって感謝します。NameError: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 、等を使用して値を割り当てます。変数や文字列について大きな誤解があるかもしれません。あなたが何かを引用しないと、それらはPythonで変数として扱われます。しかし、他の場所では定義されていないので、pythonはそれらが未定義の変数であることを知らせます。

クイックフィックスすべてのラベルの値の前後に引用符を追加することになります。

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

あなただけの偉大な、トレースバックからエラーを貼り付けていますが、今後のトレースバックを読み取る方法を学ぶ必要があります。トレースバックを後方に読むと、究極のエラーを引き起こす関数が何であるかがわかります。私は確かに、name = forms.CharField(label=Name, max_lenght=100)という行が最後に現れていると確信しています。あなたは、エラーをたどる間に多くのメリットがあります。

+0

どのような愚かなエラー!ご協力いただきありがとうございます。 – nictec

関連する問題