in django import-Fehler als Modul nicht gefunden
Ich war dabei einfache, Formular-handling.Mein Projekt name ist "mysite" und ich habe die Ordner "Bücher" mit startapp.Ich machte einen Ordner namens "Vorlagen" innen "mysite" - Ordner.In 'Vorlagen', die ich aus einer html-Datei von Suche nach form und Ihr name ist 'search_file.html'.
Der code aus, dass die html-Datei ist unten geschrieben.
<html>
<head>
<title>Search</title>
</head>
<body>
<form action="/search/" method="get">
<input type="text" name="q">
<input type="submit" value="Search">
</form>
</body>
</html>
Dann schrieb ich den folgenden code in views.py die befindet sich im "Bücher" - Ordner.
from django.shortcuts import render
def search_form(request):
return render(request, 'search_form.html')
Danach schrieb ich im code urls.py was befindet sich im 'mysite' - Ordner, wie unten dargestellt.
from mysite.books import views
urlpatterns = patterns('',
url(r'^search-form/$', views.search_form),
)
Meine Datei Struktur ist unten dargestellt:
Den main-Ordner 'mysite', und innerhalb dieser:
- books
- __init__.py
- admin.py
- models.py
- tests.py
- views.py
- mysite
- __init__.py
- settings.py
- urls.py
- wsgi.py
- templates
- search_form.html
- manage.py
Aber, wenn ich im browser dann die Fehlermeldung erschien die Erwähnung dieser Dinge.
ImportError at /search-form/
Kein Modul mit dem Namen books
Was ist die Lösung für diese Fehler?
Sorry, ich bin nur ein Anfänger, so dass ich nicht wusste, was tut stacktrace bedeutet.Könnten Sie bitte erklären?
Der Fehler, bitte 🙂
Ya, die ich erwähnt habe, die Fehler des import-Fehler bei search_form .Der Fehler ist "Kein Modul gefunden mit dem Namen books'.
InformationsquelleAutor Bishwas Bc | 2013-06-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die beste Lösung wäre, nur bewegen Sie Ihre "Bücher" - Paket in mysite/mysite/und Bücher hinzufügen, um Ihre Einstellungen.INSTALLED_APPS
Aber wenn Sie es behalten wollen, wie dass dann:
Ihren wichtigsten "mysite" - Ordner ist nicht ein python-Paket. Dies bedeutet, dass Sie brauchen, um hinzuzufügen, init.py in den main Ordner, siehe unten:
Sollten Sie haben:
Bearbeiten
manage.py
und ersetzenmysite.settings
mitsettings
Bearbeiten
settings.py
und ersetzenROOT_URLCONF = 'mysite.urls'
mitROOT_URLCONF = 'urls'
undWSGI_APPLICATION = 'mysite.wsgi.application'
mitWSGI_APPLICATION = 'wsgi.application'
Hinzufügen
<path to>/templates
zu Ihren Einstellungen.TEMPLATE_DIRSHinzufügen
books
zu Ihrem INSTALLED_APPSBearbeiten
wsgi.py
und ersetzenmysite.settings
mitsettings
Nun sollten Sie in der Lage zu tun, aus
books import views
Auch wie Sie sehen können, entfernen Sie dann mysite/mysite Ordner
Aktualisiert meine Antwort. Lassen Sie mich wissen, wenn Sie noch Fragen
es ist keine gute Lösung
InformationsquelleAutor Ciprian Tarta
Hast du eine Datei namens
__init__.py
im Ordner Bücher ?Sie bekommen eine kreisförmige import-Fehler. Ihre äußeren Ordner aufgerufen wird
mysite
und wo haben Sie Ihre Einstellungen aufgerufenmysite
benennen Sie Ihremysite
wo Ihre Einstellungen zu Leben, um etwas anderes, und ich glaube, dass es funktionieren sollteAber ich habe nicht mysite-Ordner innerhalb des Projekt-mysite.Als ich anfing, mysite Projekt, das es automatisch gemacht mysite Ordner mysite Projekt.
wenn ich den Ordner umbenennen 'mysite' in 'site', die in den Projekt-Ordner 'mysite' und als ich versuchte, starten Sie den server mit python manage.py runserver,viele Fehler erschienen.Also, Sie geben eine andere Lösung?
InformationsquelleAutor Rodolphe