2016-03-15 50 views
0

我刚开始学习django。我有一个小问题,我无法自己解决。Django 1.9 ImportError:无法导入名称<classname>

我在forms.py中得到了类SingUpForm,但是当我在views.py中导入这个类时,出现错误,我不知道为什么。

错误控制台:

​​

views.py:

from django.shortcuts import render 

from .forms import SignUpForm 

# Create your views here. 
def home(request): 
    title = "Welcome" 
    #if request.user.is_authenticated(): 
    # title = "Welcome %s" %(request.user) 
    form = SignUpForm() 
    context = { 
     "title": title, 
     "form": form, 
    } 
    return render(request, "home.html", context) 

forms.py:

from django import forms 

from .models import SignUp 

import csv 
with open('serialnumber.csv', 'r') as f: 
    reader = csv.reader(f) 
    serial_number = list(reader) 

class SingUpForm(forms.ModelForm): 
    class Meta: 
     model = SignUp 
     fields = ['full_name', 'email'] 


    def clean_full_name(self): 
     full_name = self.cleaned_data.get('full_name') 
     if not full_name in serial_number[0]: 
      raise forms.ValidationError("Nieprawidłowy numer seryjny") 
     return full_name 

models.py:

from django.db import models 

# Create your models here. 
class SignUp(models.Model): 
    email = models.EmailField() 
    full_name = models.CharField(max_length=120, null=True) 
    timestamp = models.DateTimeField(auto_now_add=True, auto_now=False) 
    updated = models.DateTimeField(auto_now_add=False, auto_now=True) 

    def __str__(self): 
     return self.email 

admin.py

from django.contrib import admin 

# Register your models here. 

from .forms import SingUpForm 
from .models import SignUp 

class SignUpAdmin(admin.ModelAdmin): 
    list_display = ["__str__", "timestamp"] 
    form = SingUpForm 
    #class Meta: 
    # model = SignUp 

admin.site.register(SignUp, SignUpAdmin) 
+0

如果文件位于同一文件夹中,请删除'.'。如果不是,你必须学习如何创建模块。 – Plouff

回答

2

错字,signsing。替换:

class SingUpForm(forms.ModelForm): 

有:

class SignUpForm(forms.ModelForm): 

假设你是不是实现一个歌唱节目的形式提交。

+0

Omg!谢谢!我昨天晚上做的很累,我没有看到。非常感谢你。现在它正在工作。这是一个愚蠢的错误... '假设你没有实施歌唱秀表单提交:D – mrblue

相关问题