0

重複の可能性:
Django で geoip を設定中にエラーが発生しました

ブラウザから「名前の GeoIP をインポートできません」というエラーが表示されますが、Python 端末では表示されません。たとえば、/tmp/geo の地理データの場合です。以下はpython端末で動作します。

    from django.contrib.gis.geoip import GeoIP
    GeoIP(path='/tmp/geo/')

ただし、djangoビューで次のエラーが発生します

    from django.contrib.gis.geoip import GeoIP
    return HttpResponse (GeoIP(path='/tmp/geo/'))

どんなポインタでも役に立ちます。私は django 1.4 、 python 2.6 を使用しています。ここにトレースがあります。ありがとう。

    Traceback:
    File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
    101.                             request.path_info)
    File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in resolve
    300.                     sub_match = pattern.resolve(new_path)
    File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in resolve
    209.             return ResolverMatch(self.callback, args, kwargs, self.name)
    File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in callback
    216.         self._callback = get_callable(self._callback_str)
    File "/usr/lib/python2.6/site-packages/django/utils/functional.py" in wrapper
    27.         result = func(*args)
    File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in get_callable
    92.                 lookup_view = getattr(import_module(mod_name), func_name)
    File "/usr/lib/python2.6/site-packages/django/utils/importlib.py" in import_module
    35.     __import__(name)
    File "/x/y/z/views.py" in <module>
    12. from django.contrib.gis.utils import GeoIP

    Exception Type: ImportError at /
    Exception Value: cannot import name GeoIP
4

1 に答える 1

4

2 つのステートメントは異なるようです (スタックトレースを見てください)。

from django.contrib.gis.utils import GeoIP

from django.contrib.gis.geoip import GeoIP

sourceを見ると、GeoIPで定義されdjango.contrib.gis.geoip.base、 でインポートされます。django.contrib.gis.geoipこれは、 を使用しているビューではなく、コンソールで機能する理由を説明していますdjango.contrib.gis.utils.GeoIP

したがって、from django.contrib.gis.geoip import GeoIPどこでも使用する必要があります。


django.contrib.gis.utilsあなたの問題は、モジュールがDjango 1.4 で削除されたという事実から発生する可能性があります。

于 2012-10-31T23:56:16.467 に答える