Django: ImportError: cannot import name Zählen
Ich zog aus meinem github und versuchte meine setup-Anwendung auf meinem Ubuntu (die ich ursprünglich lief meine app auf einem Mac zu Hause).
Ich neu erstellt die Datenbank und konfiguriert die settings.py -- update auch die Vorlage Standorte, etc.
Jedoch wenn ich den server "python manage.py runserver" Holen Sie sich einen Fehler, der sagt:
ImportError: cannot import name Count
Ich importiert der Graf, in meinen views.py die Verwendung der annotate():
from django.shortcuts import render_to_response
from django.http import Http404, HttpResponse, HttpResponseRedirect
from django.db.models import Count
from mysite.blog.models import Blog
from mysite.blog.models import Comment
from mysite.blog.forms import CommentForm
def index(request):
#below, I used annotate()
blog_posts = Blog.objects.all().annotate(Count('comment')).order_by('-pub_date')[:5]
return render_to_response('blog/index.html',
{'blog_posts': blog_posts})
Warum nicht funktioniert?
Auch, wenn ich entfernen Sie die "import-Count" - Zeile, der Fehler geht Weg und meine app funktioniert wie normal.
Dank,
Wenbert
UPDATE:
meine models.py sieht wie folgt aus:
from django.db import models
class Blog(models.Model):
author = models.CharField(max_length=200)
title = models.CharField(max_length=200)
content = models.TextField()
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.content
def was_published_today(self):
return self.pub_date.date() == datetime.date.today()
class Comment(models.Model):
blog = models.ForeignKey(Blog)
author = models.CharField(max_length=200)
comment = models.TextField()
url = models.URLField()
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.comment
UPDATE 2
Meine urls.py sieht wie folgt aus:
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^admin/(.*)', admin.site.root),
(r'^blog/$','mysite.blog.views.index'),
(r'^display_meta/$','mysite.blog.views.display_meta'),
(r'^blog/post/(?P<blog_id>\d+)/$','mysite.blog.views.post'),
)
Sie sind auf jeden Fall mit der gleichen version von Django, ja?
Ich habe meinen Beitrag aktualisiert.
Welche version von Django benutzen Sie? Sind Sie sicher, es IST die neueste?
InformationsquelleAutor wenbert | 2009-09-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das klingt wie, du bist nicht mit Django 1.1. Doppel-check durch die öffnung des Django-shell und läuft
Sollten Sie etwas sehen, wie
(1, 1, 0, 'final', 0)
wenn Sie mit 1.1Es arbeitete. Vielen Dank für die Antwort.
Ich habe den gleichen Fehler und dies hat mir nicht geholfen.
InformationsquelleAutor David
Ich habe aktualisiert mein Django und es stellt sich heraus, dass Ihre import-Anweisung ist korrekt, da Modul-Struktur ein bisschen verändert wurde. Sind Sie sicher, dass Sie Ihre Django ist in der neuesten version?
Könntest du deinen post urls.py auch?
freiksenet, fügte ich hinzu urls.py in meiner Frage oben
InformationsquelleAutor freiksenet