我刚开始学习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)
答案 0 :(得分:2)
错字,sign
不是sing
。替换:
class SingUpForm(forms.ModelForm):
使用:
class SignUpForm(forms.ModelForm):
假设您没有实施歌唱表格提交。