如标题所述,我在尝试创建表单时遇到错误。这是在线:
from collection.forms import contact_form
我收到错误:
File "/home/mike/CINS465/465proj/project/firstapp/views.py", line 2, in <module>
from collection.forms import contact_form
ImportError: No module named 'collection'
知道我哪里出错了吗?我是django的新手,这是从创建联系表单的教程中提取的。我以为收藏是内置于django
编辑:
来自views.py
from django.shortcuts import render
from django.http import HttpResponse, JsonResponse
from .models import *
from .forms import contact_form
# Create your views here.
def contact(request):
form_class = contact_form
return render(request, 'contact.html', {
'form': form_class,
})
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'contact/$',views.contact, name='contact'),
]
来自contact.html的
{% block title %}Contact - {{ block.super }}{% endblock %}
{% block content %}
<h1>Contact</h1>
<form role="form" action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Submit</button>
</form>
{% endblock %}
来自forms.py 的
from django import forms
from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
from django.contrib.auth.models import User
class contact_form(forms.Form):
contact_name = forms.CharField(label='Contact Name', max_length=255)
contact_email = forms.CharField(label='Contact Email',max_length=255)
contact_message = forms.CharField(
label='Contact Message',
required=True,
widget=forms.Textarea
)
我没有包含无关的代码(即索引页)。
答案 0 :(得分:0)
您需要在app目录中创建一个名为__init__.py
的空文件,以使其成为一个包。如果您没有该文件,则无法执行子模块导入。
touch /home/mike/CINS465/465proj/project/firstapp/collections/__init__.py