Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:无法从其他应用导入模型_Django_Django Models - Fatal编程技术网

Django:无法从其他应用导入模型

Django:无法从其他应用导入模型,django,django-models,Django,Django Models,我希望在这个问题上寻求一些帮助。我还在学习Django(和Python),遇到了这个我找不到答案的特殊问题。我已经创建了一个名为“新闻”的新应用程序,并为该应用程序设置了模型。使用管理界面,我创建了一些数据。从我的“Pages”应用程序中,我试图导入News\u文章类,并获取名为News.models的错误模块 我很难看出这里出了什么问题 如蒙协助,将不胜感激 目录结构 Bolton_GC [Folder] - Bolton_GC [Folder] - News [Folder] -

我希望在这个问题上寻求一些帮助。我还在学习Django(和Python),遇到了这个我找不到答案的特殊问题。我已经创建了一个名为“新闻”的新应用程序,并为该应用程序设置了模型。使用管理界面,我创建了一些数据。从我的“Pages”应用程序中,我试图导入
News\u文章
类,并获取名为
News.models的错误模块

我很难看出这里出了什么问题

如蒙协助,将不胜感激

目录结构

Bolton_GC [Folder]
- Bolton_GC [Folder]
  - News [Folder]
    - Migrations [Folder]
    - __init__.py
    - __init__.pyc
    - admin.py
    - admin.pyc
    - models.py
    - models.pyc
    - tests.py
    - views.py
  - Pages [Folder]
    - Migrations [Folder]
    - __init__.py
    - __init__.pyc
    - admin.py
    - admin.pyc
    - models.py
    - models.pyc
    - tests.py
    - views.py
    - views.pyc
  - static [Folder]
  - templates [Folder]
  - __init__.py
  - __init__.pyc
  - settings.py
  - settings.pyc
  - urls.py
  - urls.pyc
  - wsgi.py
  - wsgi.pyc
- db.sqlite3
- manage.py
news\model.py

from django.db import models
from datetime import datetime

class News_Article(models.Model):
    class Meta:
        ordering = ['news_datetime_submitted']
    news_title = models.CharField(max_length=75, verbose_name="News Title")
    news_text = models.CharField(max_length=300, verbose_name="News Text")
    news_active = models.BooleanField(default=True, verbose_name="News Active")
    news_datetime_submitted = models.DateTimeField(default=datetime.now(), verbose_name="News Date")

    def __str__(self):
        return self.news_title
Pages\views.py

from django.shortcuts import HttpResponse, get_object_or_404, render
from models import Page, Announcement, Menu, Sub_Menu
from django.core.exceptions import ObjectDoesNotExist
from News.models import News_Article
import pdb

# Helper Functions

def get_announcement():
    try:
        return Announcement.objects.get(announcement_active=True)
    except ObjectDoesNotExist:
        return None

def clean_url(dirtyurl, badlist):
    for item in badlist:
        dirtyurl = dirtyurl.replace(item,'')
    return dirtyurl[1:-1]

# View functions

def page(request):
    rDict = {}
    path = clean_url(request.path, ['"', "'"])
#    pdb.set_trace()
    p = get_object_or_404(Page, urlconf_text=path)
    rDict['p'] = p
    announcement = get_announcement()
    if not announcement == None:
        rDict['announcement'] = announcement
    rDict['sitenav'] = path
    rDict['menu'] = Menu.objects.all().order_by('menu_position')
    return render(request, 'en/public/page.html', rDict)
错误

在家中导入恐怖/
没有名为News.models的模块
请求方法:获取
请求URL:http://127.0.0.1:8000/home/
Django版本:1.8.2
异常类型:ImportError
异常值:
没有名为News.models的模块
异常位置:C:\Me\Websites\Bolton\u GC\Bolton\u GC\Pages\views.py in,第4行
Python可执行文件:c:\python27\Python.exe
Python版本:2.7.9
Python路径:
['C:\\Me\\Websites\\Bolton\u GC',
'c:\\python27\\lib\\site packages\\setuptools-18.0.1-py2.7.egg',
'C:\\WINDOWS\\SYSTEM32\\python27.zip',
'c:\\python27\\DLLs',
'c:\\python27\\lib',
'c:\\python27\\lib\\plat win',
'c:\\python27\\lib\\lib tk',
'c:\\python27',
'c:\\python27\\lib\\site包']
服务器时间:2015年7月14日星期二13:21:14+0100
开关

from News.models import News_Article


为了详细说明@TheLifeOfSteve的答案,所有导入语句始终与manage.py文件相关

如果manage.py文件位于路径Bolton_GC/Bolton_GC,那么正确的导入语句应该是:

from News.models import News_Article
但是在当前的目录结构中,下面是Steve指出的正确答案

from Bolton_GC.News.models import News_Article
试一试
从.models import News\u Article

导入和注册模型时有更新!!
请尝试从.models导入新闻文章

有趣的是,它在URL.py文件中工作,所以它一定是文件夹结构问题,但我被难住了。尝试使用“Bolton\u GC.News.models导入新闻文章”-我想看看是不是结构也尝试过了,pal,同样的问题嗯,确实有效,尽管没有。这很烦人,很抱歉打扰你,谢谢你的及时回复。那么它真的有效吗?我已经添加了一个答案如果您使用PyCharm,请确保从Preferences->project调整项目的内容根目录Structure@Mike在此基础上,您可以通过右键单击PyCharm中django的根文件夹进行设置(即,包含
manage.py
并将目录标记为>源的目录Root@Mike终于摆脱了PyCharm发出的那些恼人的错误消息,谢谢!这不起作用。我不会得到任何名为Bolton_GC的模块。
from News.models import News_Article
from Bolton_GC.News.models import News_Article