Django 1.9 ImportError:无法导入名称<classname>

时间:2016-03-15 16:19:11

标签: python django

我刚开始学习django。我有一点问题,我自己也无法解决。

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

控制台出错:

\views.py", line 3, in <module>
    from .forms import SignUpForm
ImportError: cannot import name 'SignUpForm'

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)

1 个答案:

答案 0 :(得分:2)

错字,sign不是sing。替换:

class SingUpForm(forms.ModelForm):

使用:

class SignUpForm(forms.ModelForm):

假设您没有实施歌唱表格提交。