导入错误:无法从"基本应用"导入名称"表单"



form.py:

from django import forms
class FormName(forms.Form):
name=forms.CharField()
email=forms.EmailField()
text=forms.CharField(widget=forms.Textarea)

views.py:

from django.shortcuts import render
from .forms import forms
def index(request):
return render(request,'basicapp/index.html')
def form_page(request):
Form = forms.FormName()
return render(request,'basicapp/form_page.html',{'form':Form})

我不知道这里出了什么问题!当我运行服务器时,它会出错,说ImportError : cannot import name 'forms' from 'basicapp'

首先,您似乎已经将表单文件命名为form.py,并且正在尝试访问一个名为forms的模块。将form.py文件重命名为forms.py

其次,您正在尝试从表单文件导入forms。这实际上是在引用您通过from django import forms导入的forms。这里有几个选项。在您的视图文件中,您可以选择import .formsfrom .forms import FormName。我更喜欢后者。

因此,在您将form.py重命名为forms.py之后,我会将views.py重写为如下所示:

from django.shortcuts import render
from .forms import FormName
def index(request):
return render(request,'basicapp/index.html')
def form_page(request):
this_form = FormName()
return render(request,'basicapp/form_page.html',{'form':this_form})

您在代码中犯了两个错误

1(您的表单文件应命名为forms.py,而不是form.py
2。(您的views.py导入代码应为

from django.shortcuts import render
from basicapp import forms

您的视图中存在问题.py

替换线下

from .forms import forms

带有

from <your app name>.forms import forms

你得到这个错误是因为django试图在你的manage.py所在的根文件夹中找到它。

最新更新