Python 无法导入视图文件中的app.models

Python 无法导入视图文件中的app.models,python,django,django-models,import,Python,Django,Django Models,Import,第一个django应用程序,我有点麻烦,我的项目是这样安排的 MyProject -dinners (python package, my app) -views (python package) __init__.py dinners.py(conflict was here... why didn't I add this to the q.. sigh) general.py __init__.py admin.py

第一个django应用程序,我有点麻烦,我的项目是这样安排的

MyProject
  -dinners (python package, my app)
    -views (python package)
      __init__.py
      dinners.py(conflict was here... why didn't I add this to the q.. sigh)
      general.py
    __init__.py
    admin.py
    models.py
    tests.py
    views.py
  -Standard django project boilerplate
在my/views/general.py文件中,它如下所示:

import os
import re
from django.http import HttpResponse
from django.template import Context,loader
from dinners.models import Dinner

def home(request):
    first_page_dinners = Dinner.objects.all().order_by('-created_at')[:5]
    t = loader.get_template('general/home.html')
    c = Context({
        'dinners':first_page_dinners,
    })
    return HttpResponse(t.render(Context()))
在我的urls.py文件中,我有一个正则表达式映射到这个视图

url(r'^/*$','dinners.views.general.home', name="home")
但是,当我尝试点击主页时,我会出现以下错误: 无法导入晚餐。视图。常规。错误是:没有名为models的模块

删除general.py顶部的dinners.models导入(加上所有特定于模型的代码)将删除错误。我是否以某种方式错误地导入视图文件?当然,我需要能够从视图中访问我的模型

谢谢


更新:回答我在-views包中有一个文件dinners.py,该文件存在冲突

您需要在“dinners”和“views”文件夹中放置一个
\uuu init\uuuuuuuupy.py
文件,以使这些包有效

编辑:


另外,删除views.py文件,这将与包产生冲突。

diners/views/
下是否有
\uuu init\uuuuu.py
文件?从URL模式中删除*(这与您的错误无关,但这是一个很好的做法)。如果您想匹配任何url,只需留下r'^'。我有这些文件(很抱歉没有包括)。。将用正确的文件结构更新帖子嗯,很抱歉那个兄弟,我以为你错过了,这可能会引起冲突。不用担心,这是一个很好的发现。我在pythonshell中也遇到了导入错误不是一个好的开始你也有views.py文件吗?我是说,一个views包和一个views.py文件在“晚餐”包里?是的。我在“dinners”包内有一个views.py,还有一个views包(位于dinners包内)