Django ImportError:没有名为'collection'的模块

时间:2017-11-02 20:27:37

标签: python django forms

如标题所述,我在尝试创建表单时遇到错误。这是在线:

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,
    })
来自urls.py

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
    )

我没有包含无关的代码(即索引页)。

1 个答案:

答案 0 :(得分:0)

您需要在app目录中创建一个名为__init__.py的空文件,以使其成为一个包。如果您没有该文件,则无法执行子模块导入。

touch /home/mike/CINS465/465proj/project/firstapp/collections/__init__.py