Django : Unable to import Modell aus einer anderen App
Hoffte ich, suchen etwas Hilfe auf dieses problem, das ich habe. Ich bin immer noch lernen, Django (und Python) und kommen über diese spezielle Frage, ich bin nicht in der Lage zu finden eine Antwort. Ich habe eine neue App namens "News", und das setup das Modell für die App. Mit dem Admin interface, ich habe einige Daten. Aus meiner "Seiten" App, die ich versuche zu importieren, die News_Article
Klasse und immer der Fehler No module named News.models
.
Ich bin kämpfen, um zu sehen, was läuft hier falsch.
Jegliche Hilfe würde sehr geschätzt werden.
DIR Struktur
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)
Fehler
ImportError at /home/
No module named News.models
Request Method: GET
Request URL: http://127.0.0.1:8000/home/
Django Version: 1.8.2
Exception Type: ImportError
Exception Value:
No module named News.models
Exception Location: C:\Me\Websites\Bolton_GC\Bolton_GC\Pages\views.py in <module>, line 4
Python Executable: c:\python27\python.exe
Python Version: 2.7.9
Python Path:
['C:\\Me\\Websites\\Bolton_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-packages']
Server time: Tue, 14 Jul 2015 13:21:14 +0100
Interessanterweise funktioniert es in der urls.py Datei, so muss es eine Ordner-Struktur Problem aber ich bin ratlos.
versuchen Sie es mit `Bolton_GC.News.Modelle importieren News_Article' - ich sehen wollen, wenn es die Struktur
Versucht, dass auch pal, gleiche Problem
Hmm, das funktioniert, obwohl es das gar nicht. Das ist ärgerlich, tut mir Leid, Sie zu stören und vielen Dank für die prompte Antwort.
Also es funktioniert? Ich habe eine Antwort
versuchen Sie es mit `Bolton_GC.News.Modelle importieren News_Article' - ich sehen wollen, wenn es die Struktur
Versucht, dass auch pal, gleiche Problem
Hmm, das funktioniert, obwohl es das gar nicht. Das ist ärgerlich, tut mir Leid, Sie zu stören und vielen Dank für die prompte Antwort.
Also es funktioniert? Ich habe eine Antwort
InformationsquelleAutor Smurf | 2015-07-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schalter
zu
InformationsquelleAutor TheLifeOfSteve
Nur zu erarbeiten, @TheLifeOfSteve Antwort, alle import-Anweisungen immer in relation zu Ihrem manage.py Datei.
Wenn die manage.py die Datei war auf dem Weg Bolton_GC/Bolton_GC, dann die richtige import-Anweisung wäre:
Aber in der aktuellen directory-Struktur, das folgende ist die richtige Antwort, wie schon von Steve.
InformationsquelleAutor Manan Mehta